####### OOP: OO makes code understandable by encapsulating moving parts ####### FP: FP makes code understandable by minimizing moving parts.
Thinking about an application’s design, ask yourself the following questions in terms of these design principles
- Extensibility— Do I constantly refactor my code to support additional functionality?
- Easy to modularize— If I change one file, is another file affected?
- Reusability— Is there a lot of duplication?
- Testability— Do I struggle to unit test my functions?
- Easy to reason about— Is my code unstructured and hard to follow?