123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- SuperTux Coding Standards
- =========================
- * start member variable name with "m_", global variables with "g_" and
- static variables with "s_"
- * avoid spaces at the end of lines
- * proper separation between generic engine code and game specific code
- should be done whenever feasible
- * the path in #include directives must not contain "..", all paths
- must be relative to the src/ directory
- * external libraries are not allowed in src/, they go to external/
- * do not use raw pointer and new/delete, use std::unique_ptr<> instead
- * properly separate data members and member functions, don't mix them
- in the same public/private/protected section
- * conditional includes should be indented:
- #ifdef FOOBAR
- # include "foobar.hpp"
- #endif
- * use #include <> for libraries in external/
- * include guards are of the form:
- #ifndef HEADER_SUPERTUX_{PATH}_{FILE}_HPP
- #define HEADER_SUPERTUX_{PATH}_{FILE}_HPP
- * use one file per class
- * write namespaces like: "namespace NameSpace {", no newline before the '{', finish them with:
- "} // namespace Namespace"
- * compile with the maximum warning level and with -Werror:
- -Werror -ansi -pedantic -Wall -Wextra -Wnon-virtual-dtor -Weffc++
- -Wcast-qual -Winit-self -Wno-unused-parameter
- possible additional flags for the future: -Wconversion -Wshadow
- * write doxygen comments as:
- /** This is a comment */
- do not use /**< and other styles of comments
- * write regular comments with //, not with /* */
- * write translator comments with // l10n: <content here>
- * more info on good practices can be found at:
- http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
- # EOF #
|