ITK/Code Review Check List: Difference between revisions
From KitwarePublic
< ITK
Jump to navigationJump to search
Line 28: | Line 28: | ||
* Respect Coding Style as specified in the document Insight/Documentation/Style.pdf | * Respect Coding Style as specified in the document Insight/Documentation/Style.pdf | ||
* Must pass the test of KWStyle | * Must pass the test of KWStyle | ||
* [Style] In the .txx files of template classes, the first 5 lines in the declaration of methods should follow the pattern: | |||
** 1) template | |||
** 2) return type | |||
** 3) class name | |||
** 4) ::method name | |||
** 5) the opening bracket | |||
For example: | |||
template < template_arguments > | |||
return_type | |||
classname< template_arguments > | |||
::methodsName( method_arguments ) | |||
{ | |||
// indentation of two spaces | |||
// for the first line of code | |||
int k = 0; | |||
} | |||
Note that in many cases line (2) uses a trait from the templated class and therefore becomes: | |||
typename classname< template_arguments >::trait |
Revision as of 19:39, 17 January 2007
Code Review Check List
The following is the list of coding style issues that must be verified on every class and file during a code review.
- Filename must match class name
- All files must have the Copyright Header at the top.
- #define for class name in the .h and .txx files. __classname_h and __classname_txx
- Brief class doxygen description
- namespace itk
- Complete class doxygen description
- Constructor/Destructor private/public
- No acronyms in class name or method names
- no unnecessary headers #included
- Justify every public method
- All member variables must be private
- Use Set Get Macros
- If deriving from itkObject
- Use New macro
- declare SmartPointer<T> as Pointer
- declare SmartPointer<const T> as ConstPointer
- declare Self
- declare Superclass
- use TypeMacro
- Have PrintSelf() method and print all the member variables
- 100% code coverage (see dashboard)
- All 'non-const' method must justify why they are not 'const'
- Any information that is printed or displayed has to be legible to human eyes
- Respect Coding Style as specified in the document Insight/Documentation/Style.pdf
- Must pass the test of KWStyle
- [Style] In the .txx files of template classes, the first 5 lines in the declaration of methods should follow the pattern:
- 1) template
- 2) return type
- 3) class name
- 4) ::method name
- 5) the opening bracket
For example:
template < template_arguments > return_type classname< template_arguments > ::methodsName( method_arguments ) { // indentation of two spaces // for the first line of code int k = 0; }
Note that in many cases line (2) uses a trait from the templated class and therefore becomes:
typename classname< template_arguments >::trait