Chapter 1 : How to write great software
There are 3 rules to say a software is good
- Rule # 1 : win your customer by coding the software on what it is supposed to do.
- Rule # 2 : Great software is well-designed (using OO principles), well-coded and easy to maintain, reuse (using design patterns) and extend.
- Rule # 3 : software should stand the test of time 🥇
Summary / Takeaways
- It takes very little for something to go wrong with an application that is fragile
- You can use OO principles like encapsulation and delegation to build applications that are flexible.
- Encapsulation - breaking your application into logical parts
- Delegation - giving another object the responsibilities of handling a particular task.
- Always begin a project by figuring out what the customer wants
- Once you got the basic functionalities of the app, lets start refining the app so it’s flexible.
- Once the app is flexible, we can employ design patterns to improve the design and make app easier to use.
- Find the part of the application that change fast/often & try to separate them from the parts that do not change.
- Building an application that works well but poorly designed will leave everyone in pain and suffering.