A month ago, Jeff Atwood ( Coding Horror ) wrote a blog post about Spartan Programming . The idea is to tend toward minimalism coding style: Minimalism isn't always the right choice, but it's rarely the wrong choice . I figured out that many of Spartan Programming tenets can be expressed as CQL rules: Horizontal complexity . The depth of nesting of control structures. WARN IF Count > 0 IN SELECT METHODS WHERE ILNestingDepth > 3 Vertical complexity . The number of lines or length of code (all routines, and and preferably larger software units such as classes fit within a single screen) . WARN IF Count > 0 IN SELECT METHODS WHERE NbLinesOfCode > 15 Parameters . The number of parameters to a routine or a generic structure. WARN IF Count > 0 IN SELECT METHODS WHERE NbParameters > 4 Variables WARN IF Count > 0 IN SELECT METHODS WHERE NbVariables > 4 Conditionals. The number of if and multiple branch switch statements. WARN IF Count > 0 IN SELECT METHODS WHERE CyclomaticComplexity > 7 Minimize visibility of identifiers (what I call Optimal Encapsulation ). WARN IF Count > 0 IN SELECT METHODS WHERE CouldBePrivate This applies also to types and fields and to any non-public visibility level, for example. WARN IF Count > 0 IN SELECT TYPES WHERE CouldBeInternal Minimize variab ...