Invent the future - Reginald Braithwaite
Optimizing for readability, sometimes the implementation is really terrible. Behind the scenes those testing frameworks and so on are really ugly. And they are leaky abstractions.
You have to work with them in the way they were thought of to be used.
You have to understand what the exact model is that makes it so easy to read.
Language features are kind of a technical debt. They give you something today, but down the road you will be paying for them.
- Your Code as a Crime Scene "Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs" by Adam Tornhill
- The Little LISPer, Third Edition
- Coupling+Cohesion well explained in 6 minutes and a long discussion with some experts in this area https://www.youtube.com/watch?v=hd0v72pD1MI
- Michael Feathers' delta flora and the original article that (I guess) led to delta-flora http://www.stickyminds.com/article/getting-empirical-about-refactoring