Welcome back! Today, we'll master what we learned about backward compatibility in practice. Get prepared to apply all the knowledge on practice tasks, but first let's look at two examples and analyze them.
Let's say that initially, we have a complex data processing function designed to operate on a list of dictionaries, applying a transformation that converts all string values within the dictionaries to uppercase. Here's the initial version:
We intend to expand this function, adding capabilities to filter the items based on a condition and allow for custom transformations. The aim is to retain backward compatibility while introducing these enhancements. Here's the updated approach:
