Below are the captions, read the full article as it is very well written.
Why your code is hard to understand
- Problem #1, Overly Complex Mental Models
- Problem #2, Poor Translation of Semantic Models into Code
- Class Structure and Names
- Variable, Parameter and Method Names
- Single Responsibility Principle (SRP)
- Appropriate Comments
- Problem #3, Not Enough Chunking
- Problem #4, Obscured Usage
- Problem #5, No Clear Path Between the Different Models
- Problem #6, Inventing Algorithms
–jeroen