The following table lists the LHCb coding rules which are checked, together with comments on the implementation of the checks.

Rule Checked?

Notes

R1 No Can be checked outside scope of RuleChecker tool
R2 No Can be checked outside scope of RuleChecker tool
R3 No Can be checked outside scope of RuleChecker tool
R4 Yes  
R5 Yes  
R6 Yes $Id: $ is also allowed
R7 No Can be checked outside scope of RuleChecker tool
R8 No Not implementable
R9 Yes Not fully implementable.
Alphanumeric characters are checked, including exceptions from R13 and R14, in names of classes, enums, types, fields, functions, parameters of functions and methods.
This rule should be split into implementable and non-implementable parts.
R10 No Implemented but not checked
R11 Yes Partial implementation:
- In a function or method, it is forbidden to have variables or parameters differing only by case
- In a module (file),  it is forbidden to have members or variables differing only by case
- In a module (file),  it is forbidden to have functions or methods differing only by case
The scope of this rules should be clarified.
R12 Yes Imperfect implementation:
- No two or three character names are allowed
- No names consisting of a single repeating letter are allowed
Current version of tool cannot distinguish between loop variables and other local variables
R13 Yes Not fully implementable: cannot check "Protected variables may be used for base classes"
Conflicts with R14 - static members always give error
R14 Yes Conflicts with R13 - static members always give error
R15 Yes  
R16 Yes  
R17 Yes Not fully implementable: cannot check verbs
- Checks first letter of functions and methods (except those of friends)
R18 No Not implementable (?)
R19 Yes  
R20 Yes Partial implementation: only name of file is checked (not name of package)
R21 Yes Identical to Alice rule GC2
R22 Yes Partial implementation: does not consider typedef
R23 Yes Partial implementation:
- do not check if inline functions are at end of file
- only accessor and set functions are accepted as inline
More precise definition of rule is required
R24 No Implemented but not checked:
- Only a simple minded implementation. Thorough implementation not easy.
R25 Yes Identical to Alice rule RC10
R26 Yes Identical to Alice rule RC9
R27 No Medium difficulty to implement
R28 Yes Partial implementation:
- only function (not the arguments) is checked
R29 Yes  
R30 No Medium difficulty to implement
R31 No Medium difficulty to implement
R32 No Medium difficulty to implement
R33 No Not implementable
R34 No Can be checked outside scope of RuleChecker tool
R35 No Can be checked outside scope of RuleChecker tool
R36 Yes  
R37 Yes Checks if last two lines contain author and date
R38 Yes Cannot check is preceding comment applies to the function
R39 No Can be checked outside scope of RuleChecker tool
R40 No Hard to implement
R41 No Hard to implement
R42 No Hard to implement
R43 No Hard to implement
R44 No Can be checked outside scope of RuleChecker tool
R45 No Not obvious how to implement
R46 No  
R47 No Not implementable
R48 No Medium difficulty to implement
R49 No Medium difficulty to implement (with IRST tool v2)
R50 No Not implementable
R51 Yes  
R52 Yes  
R53 No Hard to implement
R54 No  
R55 No  
R56 No Can be checked outside scope of RuleChecker tool
R57 No Can be checked outside scope of RuleChecker tool
R58 Yes  
R59 No Medium difficulty to implement
R60 No Medium difficulty to implement