Features

Implemented:

Code
Definition
Description
XML Description
LEN
Line Length
Number of characters per line
<LineLength>81</LineLength><DeclarationOrder>
IVR
Internal Variable RegEx
Internal variables should match a particular regular expression
<InternalVariables>
<regex>m_[A-Z]</regex>
<alignment>0</alignment>
</InternalVariables>
IVP
Internal Variable Private/Protected
Internal variables should be in the protected or private section

// In order to use IVP you should have IVR enable
<InternalVariables>
<regex>m_[A-Z]</regex>
<alignment>0</alignment>
<private>0</private>
</InternalVariables>

SEM Semicolons Semicolons should be unique and no space between the semicolon and the end of the phrase. Also unecessary semicolons are checked. <SemicolonSpace>0</SemicolonSpace>
DCL Declaration order Check if the order of the declaration matches a pattern composed of Public,Protected and Private <DeclarationOrder>
<public>0</public>
<protected>1</protected>
<private>2</private>
</DeclarationOrder>
EOF End Of File The File should have only one new line at the end of the file <EndOfFileNewLine>true</EndOfFileNewLine>
TAB Tabulations

The file should not have any tabulations

<Tabs>1</Tabs>
ESP Spaces

The number of extra spaces at the end of the line should not exceed a certain number.

<Spaces>3</Spaces>
IND Indentation The Indentation should match a specific pattern <Indent>
<type>SPACE</type>
<size>2</size>
<noHeader>true</noHeader>
<allowBlockLine>true</allowBlockLine>
</Indent>
HRD Header The header should respect a given template (specified as a file) <Header>
<location>/Web/headers/IGSTKSandbox</location>
<checkSpacesEndOfLine>false</checkSpacesEndOfLine>
<cvsFormat>true</cvsFormat>
</Header>
DEF Definition #ifndef/#define should match a pattern composed of <NameOfClass> and <Extension> <IfNDefDefine>__[NameOfClass]_[Extension]</IfNDefDefine>
TDR Typedefs RegEx Typedefs should match a regular Expression <Typedefs>
<regex>[A-Z]</regex>
</Typedefs>
TDA Typedefs Alignment Typedefs should be align one with the other

<Typedefs>
<regex>[A-Z]</regex>
// true by default
<alignment>false</alignment>
</Typedefs>

NMS Namespace The first namespace in the file should match a specific word <Namespace>igstk</Namespace>
NMC Name of Class The name of the class should match the name of the file plus/minus some characters <NameOfClass>
<name>[NameOfClass]</name>
<prefix>igstk</prefix>
</NameOfClass>
WCM Wrong Comments Comments in the files should be correct. Right now checking if two consecutive words are not the same . Spelling mistake. <Comments>
<begin>/**</begin>
<middle> *</middle>
<end>*/<end>
<emptyLineBeforeClass>true</emptyLineBeforeClass>
<checkWrongComment>true</checkWrongComment>
<checkMissingComment>true</checkMissingComment>
</Comments>
MCM Missing Comments Each class definition should have a comment starting with \class

<Comments>
<begin>/**</begin>
<middle> *</middle>
<end>*/<end>
<emptyLineBeforeClass>true</emptyLineBeforeClass>
<checkWrongComment>true</checkWrongComment>
// True if not specified
<checkMissingComments>false</checkMissingComments>
</Comments>

EML Empty lines The number of successive empty lines should not be greater than a given number. <EmptyLines>2</EmptyLines>
TPL Template Parameters Regular Expression Template parameters should match a regular expression <Template>T</Template>
OSP Operators spaces Check if there are spaces for operators: i.e a=b v.s. a = b <Operator>
<spaceBefore>1</spaceBefore>
<spaceAfter>1</spaceAfter>
</Operator>
BLK Black List Words in the black list cannot be found in the files to be checked. <BlackList>myBlackList.txt</BlackList>
  Structs Check the regular expression for struct. <Struct>
<regex>[a-z]<regex>
</Struct>
SPL Statement per line Check if there is one or more statements per line. <StatementPerLine>
<maxNumber>1</maxNumber>
<checkInline>0</checkInline> // default is true
</StatementPerLine>
VPL Variable per line Check if there is one or more variables per line.

<VariablePerLine>
<maxNumber>1</maxNumber>
</VariablePerLine>

BCH Bad characters Check if the code has some characters outside [0,127] in the ASCII table <BadCharacters>true</BadCharacters>
MBF Member Functions Check Regular Expression for Member Functions <MemberFunctions>[A-Z]</MemberFunctions>
MFL Member Functions Length Check the number of line of the current member function

<MemberFunctions>
<regex>[A-Z]</regex>
<length>100</length>
</MemberFunctions>

FRG Functions Check if the function respect regular expressions

<Functions>
<regex>[A-Z]</regex>
<length>100</length>
</Functions>

FLN Functions Length Check the number of line of the current member function

<Functions>
<regex>[A-Z]</regex>
<length>100</length>
</Functions>

Other XML description:

Name of the project
The name of the project will appear on the title of the generated HTML pages
<Project>This is my project</Project>
Logo of the project
Location of the project's logo to appear on the HTML pages. (The logo is copied automatically in the HTML/images directory)
<ProjectLogo>C:\project\myProjectlogo.jpg</ProjectLogo>
KWStyle Logo
Location of the KWStyle logo to appear on the HTML pages. (The logo is copied automatically in the HTML/images directory)
<KWStyleLogo>C:\KWStyle\KWStyleLogo.jpg</KWStyleLogo>
Threshold of the number of errors that should be reported as warnings on the dashboard.
If the number of errors for a given test is above the given threshold the errors appears red on the dashboard
<ErrorThreshold>10</ErrorThreshold>


Requested:

Code
Definition
Description
MFC Missing Function Comment Each function should have a comment
     

Feature requests:

- Include Spell checker for comments
- Include Statistics