Skip to content
dakuenjery edited this page Sep 22, 2012 · 1 revision

Именование

  • Переменные в таком стиле: someVariable, maxSpeed, yetAnotherStyleGuide;
  • Функции и методы так же: someFunction(), getSpeed();
  • Классы с большой буквые: Client, Server, SomeClass;
  • Определения (define, const, enumc) с большими буквами: DEFAULT_NAME, PROTO_CONST_1;
  • Шаблонные типы - одна большая латинская буква: T, Y;
  • Приватные переменные внутри классов именовать начиная с символа подчеркивания: _clients , _someTests ;
  • Приватные методы внутри класса именовать так же как и обычные функции;

Скобки, пробелы, равенства:

for (int i = 0; i < 10; i += 2)
{
    array[i] = 10;
}
void sayHello()
{
    std::cout << "Say hello!";
}

Функции

qint32 SomeClass::someFuntion(QString arg1, qint32 arg2, QMap<qint32> someArray)
{
    someCode();
}

Структуры и классы

Если в классе нет методов и он используется скорее для переноса и хранения данных - это струткура. В противном случае класс. Порядок объявления переменных и методов: публичные методы, публичные слоты, приватные методы, приватные слоты, публичные поля, приватные поля. Имена по возможности выравнивать

struct CarInfo
{
  int  maxSpeed;
  char wheels;
  bool canFly;
};
class Server
{
public:
  void   setId(qint32 id);
  qint32 getId();
private:
  void makeSomeStaff();
private:
  int     _id;
  QString _someString;
  Class   *_class;
}

Комментарии

Очень рекомендуется использовать комментарии в doxygen/javadoc - стилях, чтобы была возможной автоматическая генерация страниц документации с использованием doxygen. Для этого стоит ознакомиться с официальным мануалом авторов doxygen и в последствие использовать комментарии так, как предлагается там.

Прочее

  • В качестве отступов использовать 4-е пробела. Символы табуляции не использовать.
  • В качестве стандарта используется C++11 с ограничениями. Код должен собираться в комиляторах gcc-4.4 а так же VS10.
  • В качестве защиты от повторного включения .h файлов использовать pragma once
  • Класс объявлять в .h файлах, реализацию в .cpp; include-ы так же по возможности в .cpp
  • В качестве переносов использовать windows стиль \r\n, а не \n
  • Указатели: int *p;
Clone this wiki locally