]> Creatis software - gdcm.git/blobdiff - Doc/Website/CodingStyle.html
Now SerieHeader::SetDirectory() allow recursive exploration of the Directory
[gdcm.git] / Doc / Website / CodingStyle.html
index 53910bb9ebeef6e3b39c46ede0de282d65d051c4..784ab04306904c4c079a1b67d69eab1a64c893a7 100644 (file)
 * Special layout:
  - Avoid code mixed with comments on a single line. Instead, prepend the
    logical blocks of code with the concerned comments.
- - Use parantheses around conditions e.g. with an if statement:
+ - Use parentheses around conditions e.g. with an if statement:
       if ( someLocalVariable == 2 ) { ... }
- - Add spaces around parantheses, or braces. Use
-      if ( someLocalVariable == 2 ) { ClassMenber += 1; }
+ - Add spaces around parentheses, or braces. Use
+      if ( someLocalVariable == 2 ) { ClassMember += 1; }
    and not
-      if (someLocalVariable == 2) {ClassMenber += 1;}
+      if (someLocalVariable == 2) {ClassMember += 1;}
  - Add spaces around each side of the assignement operator, and
    around binary operators used in boolean expression. Use
       someLocalVariable = ClassMember * 2;
    use C style comments ("/* ... */").
  - The last line of a file should terminate with "\n".
  - Returned arguments of methods and functions should not be wrapped with
-   parantheses. Use
+   parentheses. Use
       return iter->second;
    but do not use
       return ( iter->second );
        * \brief  Within the Dicom Elements (parsed with the public and private
        *         dictionaries), look for the element value representation of
        *         a given tag.
-       * @param  group Group number of the searched tag.
-       * @param  element Element number of the searched tag.
+       * @param  group  Group number of the searched tag.
+       * @param  elem Element number of the searched tag.
        * @return Corresponding element value representation when it exists,
        *         and the string "gdcm::Unfound" otherwise.
        */
-      std::string Document::GetEntryByNumber(guint16 group, guint16 element)
+      std::string Document::GetEntryByNumber(guint16 group, guint16 elem)
       {
          ...
       }
          warnings won't work).
  - Don't use the C standard library. Don't include stdio.h, ctype.h...
    Don't use printf(), sprinf(), FILE*...
- - Don't use the NULL notation (either as macro, or as const int NULL=0).
+ - Don't use the NULL notation (neither as macro, nor as const int NULL=0).
    A pointer that doesn't refer to an object should simply be defined as
       DataPointer* MyDataPointer = 0;
                                                                                 
 * Basic types:
  - Assume T is a given type. When declaring or defining with the
    "pointer to T" notation, the * character must be adjacent to
-   the type and not the variable. That is use
+   the variable and not the type. That is use
+      T *foo = 0;
+   and not
       T* foo = 0;
+   nor
+      T * foo;
+ - Assume T is a given type. When declaring or defining with the
+   "reference to T" notation, the & character must be adjacent to
+   the variable and not the type. That is use :
+      T &foo = 0;
    and not
-      T *foo = 0;
+      T& foo = 0;
+
+   (Doxygen will not have any longer to correct)
+
  - Always define a typedef for a new type and be consistent in usage.
    Use
-      typedef HeaderHeaderPointer;
+      typedef Header *HeaderPointer;
       HeaderPointer MyHeaderPointer;
  - One notorious counter example for non using C style inclusion concerns
    exact-width integers (since there seem to be no equivalent for C++).