In this chapter, we outlined the steps to address changes to the project scope and new specifications. We focused on how to write robust code that will encourage reuse in further additional projects or refinements.
Using a wide variety of data structures helps to organize our project and data. The code should be self-documenting whenever possible. Additionally, typesafe code can enforce some assumptions about code to block incorrect input and inappropriate usage. Through the use of data classes, we also learned how to extend existing data structures to support new uses. We also used data classes as an interface to defer assumptions about project elements that were uncertain.
In the next chapter, we will learn about parameterization and generics. We will perform an in-depth code review along with case analysis.