fowler
Installation
SKILL.md
Martin Fowler Style Guide
Overview
Martin Fowler is a loud advocate for refactoring, microservices, and agile software development. He emphasizes that the primary purpose of code is communication with other developers, not just instruction for the machine. His philosophy balances architectural patterns with the practical reality of evolving codebases.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
Core Principles
- Code for Humans: If it's hard to read, it's bad code, regardless of performance.
- Refactoring: Continuous improvement of the design of existing code. "Three strikes and you refactor."
- Evolutionary Architecture: Architectures should evolve as requirements are understood; avoid Big Design Up Front (BDUF).
- Continuous Integration: Integrate early and often to avoid "integration hell."
- Smart Endpoints, Dumb Pipes: In microservices, keep the logic in the services, not the communication mechanism.