Difference between revisions of "Documentation/4.0/Developers/Style Guide/Cpp"

From Slicer Wiki
Jump to: navigation, search
(Prepend documentation/versioncheck template. See http://na-mic.org/Mantis/view.php?id=2887)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[Documentation/{{documentation/version}}/Developers|Developers Information]]←
+
<noinclude>{{documentation/versioncheck}}</noinclude>
 +
{{documentation/underconstruction}}
 +
 
 +
= Indentation =
 +
Configure your text editor to do VTK style indentation:
 +
* [http://www.vtk.org/Wiki/Elisp_Code_for_VTK-Style_C_Indentation Emacs]
 +
* [http://wiki.na-mic.org/Wiki/index.php/User:Pieper Vi/Vim]  
 +
* [http://www.vtk.org/Wiki/VTK_FAQ#How_do_I_get_my_C.2B.2B_code_editor_to_do_VTK-style_indentation.3F Visual Studio]
 +
 
 +
= Naming =
 +
* Local variable should start with a lower case.
 +
** For example:
 +
 
 +
void vtkSlicerSliceLogic::SetForegroundLayer(vtkSlicerSliceLayerLogic *ForegroundLayer) // wrong!
 +
 
 +
should be
 +
 
 +
void vtkSlicerSliceLogic::SetForegroundLayer(vtkSlicerSliceLayerLogic *foregroundLayer)
 +
 
 +
* Member variable should start with a capital letter, and in implementation should be used in conjunction with 'this->' convention
 +
** For example
 +
 
 +
class Node {
 +
  Object &Foo();
 +
  Object Bla;
 +
};
 +
Object& Node::Foo()
 +
{
 +
  return this->Bla;
 +
}
  
{{ambox
 
| type  = protection
 
| image = [[File:InProgress.png|40px|alt=Work in progress]]
 
| text  = Page under construction.
 
}}
 
  
 
= References =
 
= References =
Line 31: Line 55:
 
OK, enough writing about writing code; the code itself is much more interesting. Have fun!  
 
OK, enough writing about writing code; the code itself is much more interesting. Have fun!  
  
<i>Source: [https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml{{!}}Google C++ Style Guide]</i>
+
<i>Source: [https://google-styleguide.googlecode.com/svn/trunk/cppguide.xml Google C++ Style Guide]</i>
 
}}
 
}}

Latest revision as of 07:31, 14 June 2013

Home < Documentation < 4.0 < Developers < Style Guide < Cpp


For the latest Slicer documentation, visit the read-the-docs.



Indentation

Configure your text editor to do VTK style indentation:

Naming

  • Local variable should start with a lower case.
    • For example:
void vtkSlicerSliceLogic::SetForegroundLayer(vtkSlicerSliceLayerLogic *ForegroundLayer) // wrong!

should be

void vtkSlicerSliceLogic::SetForegroundLayer(vtkSlicerSliceLayerLogic *foregroundLayer)
  • Member variable should start with a capital letter, and in implementation should be used in conjunction with 'this->' convention
    • For example
class Node {
  Object &Foo();
  Object Bla;
};
Object& Node::Foo()
{
  return this->Bla;
}


References

Tools