0.- Introduction
1.- Clean Code
2.- Meaningful names
3.- Functions
4.- Comments
5.- Format
6.- Objects and Data Structures
7.- Handling errors
8.- Boundaries
9.- Unit Testing
10.- Classes
11.- Systems
12.- Emergence
13.- Concurrency
14.- Successive refinement
15.- Internal Aspect of JUnit
16.- SerialDate refactor
17.- Smells and Heuristics
Appendix A.- Concurrency II
Appendix B.- org.jfree.date.SerialDate