Guidelines

Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite… The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt. Entire engineering organizations can be brought to a stand-still under the debt load of an unconsolidated implementation, object-oriented or otherwise. -- Ward Cunningham

  1. https://en.wikipedia.org/wiki/Anti-pattern
  2. https://en.wikipedia.org/wiki/Technical_debt
  3. https://en.wikipedia.org/wiki/Code_refactoring