DEV Community

Discussion on: What’s an unpopular software opinion you have?

Collapse
 
madhadron profile image
Fred Ross
  1. Classes are a poor mechanism to define types, a poor mechanism to define namespaces, and a poor mechanism to define modules.

  2. Design patterns are mathematical models glimpsed darkly by those who aren't used to formal thought.

  3. The practice of programming you adopt is driven more by local constraints and possibilities than by universals. All the various components that can contribute to a particular practice of programming (test driven development, various parts of agile, literate programming) are suggestions that may be useful in crafting the practice in a particular project or environment. The benefit comes from knowing what ends are trying to be achieved, engaging in the discipline seriously to try to get that end, and building expertise to know what parts become important under what conditions and constraints.

  4. Engineering is being able to stand up in court and declare as an expert that something was reasonable practice and no liability can apply to it failing...and make it stick.