Against Best Practices
Role and Limits of “Best Practices”
- Many see “best practices” as useful shortcuts: distilled experience that avoids re‑deriving everything from first principles, improves consistency, and speeds novices.
- Others stress they are only heuristics, not laws; they should be starting points, not unquestionable authority.
- Several commenters argue the article’s real target is dogmatic, context‑blind application, not the practices themselves.
Context, Risk, and Domain Differences
- Repeated theme: best practices are inherently context‑dependent. What’s right for avionics, trading platforms, or cryptography differs from a marketing site or indie game.
- Risk appetite matters: in high‑risk domains, strict adherence to conservative practices is favored; in low‑risk/high‑reward domains, experimentation is encouraged.
- Practices may also change as systems evolve (e.g., MVP that becomes critical infrastructure).
Other Engineering Disciplines and Standardization
- Some note traditional engineering uses standards, certification, and regulation, driven by safety and liability; software often lacks such external pressure.
- Others counter that even in mechanical/civil engineering, “best practices” are numerous, context‑sensitive, and far from universally agreed.
- A body of knowledge (e.g., SWEBOK) is cited as more about cataloging techniques than prescribing universal rules.
DRY, Globals, Postel’s Law, and Specific Rules
- DRY is discussed as frequently misunderstood: avoiding duplication only makes sense when semantics and future changes align; otherwise it can violate single responsibility and over‑abstract.
- “Never use globals” is seen as overreach; globals can be acceptable for truly global state, but overuse creates maintenance nightmares.
- Postel’s Law is viewed by some as still helpful, others as outdated and harmful in modern security‑sensitive contexts.
Team Dynamics, Power, and Cargo Culting
- “Best practice” is often used as an argument from authority or a cudgel in code review, especially by zealots or less‑experienced developers.
- This can lead to cargo culting, over‑engineering, and resentment, particularly when reasons aren’t explained or documented.
- Several suggest explicitly documenting why a guideline is being broken in a PR, and emphasizing discussion of trade‑offs rather than rule‑recitation.
Terminology and Alternatives to “Best”
- Multiple commenters dislike the word “best”; propose “standard practice,” “current common practice,” “golden path,” or simply “practices.”
- Consensus of sorts: treat them as widely used defaults, to be followed by default but abandoned when you can clearly articulate why they don’t fit.