X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=Doc%2FWebsite%2FCodingStyle.html;h=8deca8f1af7224fb40dba27a2489bc79cb403610;hb=2519871e71241f7e248d22b023eeb3bb5c314257;hp=9cb6926c51c8c5b7b02bb960a44505c324fb8714;hpb=c460dc75a10d96fc38011db90fae5bcd8649b743;p=gdcm.git diff --git a/Doc/Website/CodingStyle.html b/Doc/Website/CodingStyle.html index 9cb6926c..8deca8f1 100644 --- a/Doc/Website/CodingStyle.html +++ b/Doc/Website/CodingStyle.html @@ -48,9 +48,9 @@ * Naming conventions: - Generalities: - In general, names are constructued by using case change to indicate + In general, names are constructed by using case change to indicate separate words, as in ImageDataSize (standing for "image data size"). - Underscores are not used. Variable names are chosen carefully with the + Underscores are not used. Variable names are choosen carefully with the intention to convey the meaning behind the code. Names are generally spelled out; use of abbreviations is discouraged. [Note: abbreviation are allowable when in common use, and should be in @@ -147,12 +147,12 @@ * 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; @@ -168,7 +168,7 @@ 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 ); @@ -226,12 +226,12 @@ * \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) { ... } @@ -240,22 +240,35 @@ - Only the C++ standard library and the STL includes should be used. When including don't use the .h extension (use #include instead of #include ). + Note: include the stl header AFTER the gdcm ones (otherwise pragma + 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 = 0; + - 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 Header* HeaderPointer; + 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++). @@ -277,7 +290,7 @@ long long -> int64_t; Hence do not use declarations like "unsigned int". With g++, accessing those typedef is achieved by the following - #include + #include < stdint.h >