Difference between revisions of "Slicer3:Style"

From NAMIC Wiki
Jump to: navigation, search
Line 2: Line 2:
  
 
* All C++ classes must conform to the style conventions of their parent classes.   
 
* All C++ classes must conform to the style conventions of their parent classes.   
** In most cases for Slicer Base, this means following VTK coding conventions including naming, indentation, and other issues discussed at the [http://www.vtk.org/Wiki/VTK_Coding_Standards VTK Coding Standards] page.
+
** In most cases for Slicer Base, this means following VTK coding conventions including naming, indentation, and other issues discussed at the [http://www.vtk.org/Wiki/VTK_Coding_Standards VTK Coding Standards] page.  This means using the VTK two-space indent style (even if you don't like it!).
 
** For command line modules implemented in ITK, follow the conventions defined in [[media:Style.pdf | Insight/Documentation/Style.pdf]] from the ITK distribution.
 
** For command line modules implemented in ITK, follow the conventions defined in [[media:Style.pdf | Insight/Documentation/Style.pdf]] from the ITK distribution.
 
** Libraries (such as Teem, zlib, etc) may follow their own coding styles, and be wrapped with in classes with the appropriate styles.
 
** Libraries (such as Teem, zlib, etc) may follow their own coding styles, and be wrapped with in classes with the appropriate styles.

Revision as of 21:45, 3 January 2007

Home < Slicer3:Style

A few things to keep in mind:

  • All C++ classes must conform to the style conventions of their parent classes.
    • In most cases for Slicer Base, this means following VTK coding conventions including naming, indentation, and other issues discussed at the VTK Coding Standards page. This means using the VTK two-space indent style (even if you don't like it!).
    • For command line modules implemented in ITK, follow the conventions defined in Insight/Documentation/Style.pdf from the ITK distribution.
    • Libraries (such as Teem, zlib, etc) may follow their own coding styles, and be wrapped with in classes with the appropriate styles.

Highlights of the policies:

  • avoid acronyms in class and method names
  • use 2 spaces for indentation, not tabs
  • think carefully about the reusability of your class hierarcies
  • comment your code extensively

Code that will be included in slicer must use CMake for cross platform building.

Code is released under the slicer license.

All NA-MIC funded software, data, documentation, and other materials should include the NIH Roadmap acknowledgement.