Clean Code
clean-code
Community
Technical Debt: When It's Debt vs When It's Just Old
Most code labeled technical debt is not debt at all. Here is the test I use to tell debt from age, and the rule I follow when paying it down.
Functional Core, Imperative Shell, Explained
The architecture pattern that gives you most of functional programming's testability without a rewrite. The two-layer rule, where each layer's responsibilities sit, and the failure modes of mixing them.
Code Review: The Checklist I Wish I'd Had Day One
The five questions I ask on every PR, the comments I have learned not to leave, and the review style that keeps the team shipping without sacrificing quality.
The Refactoring Playbook: Six Moves I Use Weekly
The small, low-risk refactoring moves I reach for every week, what each one fixes, and the order to apply them so the diff stays reviewable.
Docker for Devs Who Don't Want to Be Sysadmins
The 80% of Docker that I actually use day to day, the layer-cache rules that cut my image builds from 4 minutes to 30 seconds, and the four mistakes that haunted my first year.
The Strategy Pattern: The Cleanest Way to Kill an if-else Chain
Strategy is taught as an OO pattern, but in practice it is just a function with a name. How to recognize the if-else chains that genuinely deserve the refactor and the ones that don't.
