1. Mixing object graph construction with application logic.
2. Ask for things, Don't look for things (aka Dependency Injection / Law of Demeter). 
3. Doing work in constructor.
4. Global State.
5. Singletons (global state in sheep's clothing).
6. Static methods: (or living in a procedural world).
7. Favor composition over inheritance.
8. Favor polymorphism over conditionals
9. Mixing Service Objects with Value Objects
10. Mixing of Concerns

  1. [2012/03/14] Working effectivly with legacy Code *2 by jjbustamante ()
  2. [2011/08/03] Advanced Software Testing: Code Coverage *1 by Jeremia (945)
  3. [2012/06/12] How to write effective GUI test automation code using Selenium and Java *2 by aliali27 (2258)
  4. [2011/03/29] [Free] DUnit : Unit testing tool for Delphi code by @lionking (2274)
  5. [2012/07/10] Code Review Plan *2 by jamy (866)