I'm talking about :
- DRY (Don't Repeat Yourself) - a common source of bugs in any project is duplicated code. Code which does the same thing with different implementations. The easiest way to fix this is to enforce a certain project structure : for instance in a business application all entity related task must be implemented in a single class/place/system ( call it the repository pattern, call it business object, called it whatever it tickles your fancy ...).
- SOC (Separations of concerns) - SOC is the process of designing a system in which the functionality is segregated in clearly independent (and orthogonal ) layers. This might sound more familiar by the name of some popular SOC patterns : MVP (Model Viewer Presenter) and MCV (Model Controller Viewer). Failure in implementing a/any form of SOC results in fragile, brittle, hard to maintain (and extend) software.