1. Write shorter functions (methods) that do just one thing ("single responsibility principle").
2. Decrease the number of decision points (aka "cyclomatic complexity") per unit (function, method, etc).
...
3. Avoid duplication at all cost!
4. Keep your interfaces small (e.g. the number of arguments a function or class receives).
5. Separate concerns by making your code more modular.
They lead to more robust and moldable software:
1. Components become more loosely coupled and are therefor easier to reuse, test and extend (support new use cases).
...
2. You components will be better encapsulated (they know less about each other) which makes them more secure.
3. Overall your code becomes more readable / self explanatory leading to less bugs by confusion.
#softwareengineering #cleanarchitecture #cleancode #developer #programming