clean-code-series Clean Code Series Chapter 1 - Clean Code Chapter 2 - Meaningful Names Chapter 3 - Functions Chapter 4 - Comments Chapter 5 - Formatting Chapter 6 - Objects and Data Structures Chapter 7 - Error Handling Chapter 8 - Boundaries Chapter 9 - Unit Tests Chapter 10 - Classes Chapter 11 - Systems Chapter 12 - Emergence Chapter 13 - Concurrency Chapter 14 - Successive Refinement Chapter 15 - Junit Internals Chapter 16 - Refactoring SerialDate Chapter 17 - Smells and Heuristics