New user registration is currently disabled due to spam abuse / Регистрация новых пользователей в настоящее время приостановлена из-за злоупотреблений спаммерами

Стилистика оформления кода

Ветка для общения разработчиков и координации разработки

Стилистика оформления кода

Postby ikm » Sat Apr 18, 2009 7:25 pm

Данная тема описывает текущую принятую стилистику оформления кода. Стилистика эта не лучше и не хуже любых других, она просто есть, и крайне желательно при создании изменений её придерживаться, дабы проект выглядел единообразно и целостно. Это может оказаться неудобно, но тут ничего не поделаешь.

Текущая принятая стилистика написания кода в проекте следующая:

Отступы -- два пробела.

Code: Select all
if ( foo )
  bar();

Открывающая фигурная скобка -- на следующей строке, прямо под конструкцией:

Code: Select all
if ( foo )
{
  bar();
}

Пробелы внутри скобок и между разнообразными зведочками и операторами присутствуют:

Code: Select all
char const * foo = strstr( somePtr + 5, "match" );

Наименование классов, структур, enum и namespace -- CamelCase, описывающий класс как существительное, с возможным прилагательным.

Code: Select all
class Window;
struct Dictionary;
namespace Options;
enum UserChoice;

Наименование объектов, в том числе и членов классов -- camelCase с маленькой буквы, описывающий объект как существительное, с возможным прилагательным. Добавлять префиксы типа m_ и прочие не надо.

Code: Select all
int someVar;
struct GreatStructure
{
  string niceString;
};

Наименование функций, в том числе и членов классов -- camelCase с маленькой буквы, описывающий функцию как глагол, действие, или вопрос:

Code: Select all
void doSomething();

struct Apartment
{
  void turnLightOn();
  bool isLightOn() const;
};

Именование файлов -- .cc для C++-файлов, .hh для их хедеров.

Code: Select all
file.hh
file.cc

Если что-то здесь не описано, посмотрите на существующий код, и просто сделайте так же, как и там.
ikm
Автор GoldenDict
 
Posts: 1595
Joined: Wed Feb 04, 2009 10:40 am

Return to Разработка

Who is online

Users browsing this forum: Google [Bot] and 2 guests