DarkRadiant coding standards
From The DarkMod Wiki
Although DarkRadiant was forked from GTKRadiant, there are new coding standards which should be used for new code, in order to maximise readability for developers.
Naming conventions
- All new code should be in a namespace, such as ui for UI-related code or model for code dealing with models.
- Class names should begin with a capital letter and capitalise each word: RenderablePicoModel, TextMenuItem
- Classes represent "things", therefore they should be named after nouns not verbs: ModuleLoader rather than LoadModule.
- Method names and local variables should start with a small letter.
- Member variables should begin with an underscore: _widget. Do not use the "m_name" convention in new code, as this is harder to read.
General code structure
- Always use Object-Oriented design methods wherever possible. Think in terms of objects which define methods to act on those objects, rather than C-style functions that process data structures passed as arguments. Non-member functions are OK for minor tasks, as long as they are within a namespace rather than at global scope.
- Never use global variables.
- If a static variable is required, encapsulate it within a small method that returns a reference to the static.