• строки блока никогда не должны находиться на одной линии с фигурными скобками, обрамляющими этот блок, например:
if (condition==true)
{
j = k;
SomeFunction();
}
m++;
Удерживайте ширину строк в таких пределах, чтобы они помещались на экране. Код, который "убегает" вправо, можно легко пропустить, а горизонтальная прокрутка всегда раздражает. При разбиении строки для следующих строк делайте отступы. Старайтесь разбивать строку, следуя логике и здравому смыслу. Оставляйте оператор в конце предыдущей строки (а не в начале следующей), чтобы было понятно, что данная строка является продолжением предыдущей.
В языке C++ функции часто оказываются более короткими, чем в С, но по- прежнему остается в силе старый добрый совет: старайтесь сохранять свои функции достаточно короткими, чтобы всю функцию можно было увидеть на экране.
Конструкции с оператором switch
В конструкциях с оператором switch используйте отступы таким образом, чтобы четко выделить различные варианты:
switch(переменная)
{
case Значение_1:
Oперация_1();
break;
case Значение_2:
Операция_2();
break;
default;
assert("Ошибочное действие");
break;
}
Чтобы создавать программы, которые будут простыми для чтения, воспользуйтесь следующими советами. Если код просто читать, его нетрудно будет и поддерживать.
• Используйте пробелы, чтобы сделать текст программы более разборчивым.
• Не используйте пробелы внутри ссылок на объекты и массивы (., ->, [ ]).
• Унарные операторы логически связаны со своими операндами, поэтому не ставьте между ними пробелов. К унарным операторам относятся следующие: !, ^, ++, --, -, * (для указателей), & (преобразования типа), sizeof.
• Бинарные операторы должны иметь пробелы с обеих сторон: +, =, *, /, %, >>, <<, <, >, ==, !=, &, I, &&, ||, ?:, -=, += И Т.Д.
• Не используйте отсутствие пробелов для обозначения приоритета (4+ 3*2).
• Ставьте пробелы после запятых и точек с запятой, но не перед ними.
• Круглые скобки не должны отделяться пробелами от заключенных в них параметров.
• Ключевые слова, такие как if, следует отделять пробелами: if (а == b).
• Текст комментария следует отделять пробелом от символов //.
• Размещайте спецификаторы указателей и ссылок рядом с именем типа, а не с именем переменной, т.е.
char* foo;
int& theInt;
а не:
char *foo;
int &theInt;
• Не объявляйте больше одной переменной в одной строке.
Ниже перечислены рекомендации для работы с идентификаторами.
• Имена идентификаторов должны быть такими, чтобы по ним было легко понять назначение идентификатора.
• Избегайте непонятных сокращений.
• Не жалейте времени и энергии для подбора кратких, но метких имен.
• Нет смысла использовать венгерскую систему имен (устанавливать связь между типом переменной и первой буквой ее имени). В языке C++ строго соблюдается контроль за соответствием типов, и нет никакой необходимости придумывать дополнительные средства контроля. Для типов, определяемых пользователем (классов), венгерская система имен вообще теряет смысл. Исключением может быть разве что использование префикса (p) для указателей и (r) для ссылок, а также префиксов its или my для переменных-членов класса.
• Короткие имена (i, p, x и т.д.) должны использоваться только там, где их краткость делает код более читабельным, а использование настолько очевидно, что в более описательных именах нет необходимости.
• Длина имени переменной должна быть пропорциональна ее области видимости.
• Во избежание путаницы и конфликтов имен убедитесь в том, что все идентификаторы пишутся по-разному.
• Имена функций (или методов) обычно представляют собой глаголы или отглагольные существительные: Search(), Reset(), FindParagraph(), ShowCursor(). В качестве имен переменных обычно используются абстрактные существительные, иногда с дополнительным существительным: count, state, windSpeed, windowHeight. Логические переменные должны называться в соответствии с их назначением: windowIconized, fileIsOpen.
Правописание и использование прописных букв в именах
При создании собственного стиля важное значение имеет проверка правописания и использование в именах прописных букв. Считаю, что вам не стоит пренебрегать приведенными ниже советами.
• Используйте прописные буквы и символ подчеркивания, чтобы отделить слова в имени идентификатора, например SOURCE_FILE_TEMPLATE. Однако имена, полностью состоящие из прописных букв, в C++ довольно редки. Они используются разве что для констант и шаблонов.
Читать дальше