I recently advised a client with a critical data acquisition project. It reminded me yet again why it's so important to abstract parts of a system as black boxes with interfaces.
In their case, they get data from many different sources, in different formats (such as web APIs, CSV files, pdfs, etc), then process them with business logic.
They recently had one critical source who suddenly, with no warning, changed the format of the information. Instead of letting them rewrite the business logic, which would then require extensive QA testing, I showed them how to call an existing library function which converted the data back to the old format. Once they did this, they were able to re-use the same business logic without modification, thus saving a lot of retesting.
© 2024 Praveen Puri