| Blog: "Coding Horror: Code Smells,' by Jeff Atwood. Discusses code smells (code warning signs), code smells within classes (including comments, long method, long parameter list, duplicate code, conditional complexity, combinitorial explosion, large class, type embedded in name, uncommunicative name, inconsistent names, dead code, speculative generalty, oddball solution, and temporary field), and code smells between classes (including alternative classes with different interfaces, primitive obsession, data class, data clumps, refused bequest, inappropriate intimacy, indecent exposure, feature envy, lazy class, message chains, middle man, divergent change, shotgun surgery, parallel inheritance hierarchies, incomplete library class and solution sprawl). |