DarkRadiant coding standards: Difference between revisions

From The DarkMod Wiki
Jump to navigationJump to search
(Initial article)
(No difference)

Revision as of 09:34, 28 October 2006

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.