[
Home |
Resume |
Programming |
Engineering Philosophy |
Family
]
Alleged AntiPatterns
AntiPatterns
is a great book that describes a number of development techniques that are
known to be counterproductive, and yet are very commonly utilized in practice.
The book claims to be about software development, but I think that 90% of
the AntiPatterns it documents are common, and equally counterproductive,
in the VLSI field as well.
This page lists a number of additional practices that are alleged to be
AntiPatterns.
Someday I might muster the energy to actually document them as such.
(Since one of the criteria for AntiPattern-ness is that there are at least
three known instances, please send me an
email if you can help me substantiate
any of them.)
Object-Oriented AntiPatterns
- Failure to analyze
- Failure to design
- Designing few complex classes instead of many simple classes
- Failure to use Design Patterns
- Using Design Patterns incorrectly
- Using Inheritance instead of Composition
C++ AntiPatterns
- Using Dynamic Binding instead of Templates
- Using Pointers instead of References
- Not using the Standard Library
- Using Friend Classes
- Using Stdio instead of Streams
- Downcasting
- Not using const and mutable
- Writing Code that is not Exception-Safe
- Not using Namespaces
- Using Comments instead of Code
Management AntiPatterns
- Purely Functional Organization
- Purely Product-Oriented Organization
- Hiring a Failed Team Intact
- Managerial "Name That Tune"
- Accelerating Milestones
- Tolerating Hackery
- AYSO Mentality
- Delegating Comprehension
- Not Promoting from Within
Configuration Management AntiPatterns
- Editing generated files
- Forking
- Release without regression
- Not using a static isolation methodology
- Overemphasizing code coverage metrics
- Poor specification
Anders Johnson, last modified
$Date: 2002/02/05 $
[
Home |
Resume |
Programming |
Engineering Philosophy |
Family
]