Программирование >>  Дополнительные возможности наследования 

1 ... 226 227 228 [ 229 ] 230 231 232 ... 265


Шигурныв скобки

Способ выравнивания фигурных скобок вызывает, возможно, самые бурные споры между программистами С++ и С. Я лично придерживаюсь следующих правил:

пара фигурных скобок должна быть выровнена по вертикали;

фигурные скобки первого уровня в определении или объявлении должны быть выровнены по левому полю. Все строки блока объявления или определения записываются с отступом. Все вложенные пары фигурных скобок должны быть выровнены по одной линии со строкой программы, за которой начинается этот блок;

строки блока никогда не должны находиться на одной линии с фигурными скобками, обрамляющими этот блок, например:

if (conaition==true) {

j = к;

SomeFunctlonO;

m++;

Удерживайте ширину строк в таких пределах, чтобы они помещались на экране. Код, который убегает вправо, можно легко пропустить, а горизонтальная прокрутка всегда раздражает. При разбиении строки для следующих строк делайте отступы. Старайтесь разбивать строку, следуя логике и здравому смыслу. Оставляйте оператор в конце предыдущей строки (а не в начале следующей), чтобы было понятно, что данная строка является продолжением предыдущей.

В языке С++ функции часто оказываются более короткими, чем в С, но по-прежнему остается в силе старый добрый совет: старайтесь сохранять свои функции достаточно короткими, чтобы всю функцию можно было увидеть на экране.

Коострукции с uuopamupoM switch

в конструкциях с оператором switch используйте отступы таким образом, чтобы четко выделить различные варианты:

swi t с h(переменная) {

case Значение 1:

Операция 1();

break; case Значение 2:

Операция 2();

break; default;

asserti Ошибочное действие );

break;

0977



Текст программы

Чтобы создавать программы, которые будут простыми для чтения, воспользуйтесь следующими советами. Если код просто читать, его нетрудно будет и поддерживать.

Используйте пробелы, чтобы сделать текст профаммы более разборчивым.

Не используйте пробелы внутри ссылок на объекты и массивы (., ->, [ ]).

Унарные операторы логически связаны со своими операндами, поэтому не ставьте между ними пробелов. К унарным операторам относятся следующие: !, ++, --, -, * (для указателей), & (преобразования типа), sizeof.

Бинарные операторы должны иметь пробелы с обеих сторон: +, =, *, /, %, , , <,

>, ==, ! =, &, I, &&, II,?:, -=, += И Т.д.

Не используйте отсутствие пробелов для обозначения приоритета (4+ 3*2).

Ставьте пробелы после запятых и точек с запятой, но не перед ними.

Круглые скобки не должны отделяться пробелами от заключенных в них параметров.

Ключевые слова, такие как if, следует отделять пробелами: if (а == Ь).

Текст комментария следует отделять пробелом от символов .

Размещайте спецификаторы указателей и ссылок рядом с именем типа, а не с именем переменной, т.е.

char* foo; int& theint; a не:

char foo; int &thelnt;

He объявляйте больще одной переменной в одной строке.

Имена пдентпфпкатпрпв

Ниже перечислены рекомендации для работы с идентификаторами.

Имена идентификаторов должны быть такими, чтобы по ним было легко понять назначение идентификатора.

Избегайте непонятных сокращений.

Не жалейте времени и энергии для подбора кратких, но метких имен.

Нет смысла использовать венгерскую систему имен (устанавливать связь между типом переменной и первой буквой ее имени). В языке С++ строго соблюдается конфоль за соответствием типов, и нет никакой необходимости придумывать дополнительные средства контроля. Для типов, определяемых пользователем (классов), венгерская система имен вообще теряет смысл. Исключением может быть разве что использование префикса (р) для указателей и (г) для ссылок, а также префиксов its или ту для переменных-членов класса.

Короткие имена (i, р, х и т.д.) должны использоваться только там, где их краткость делает код более читабельным, а использование настолько очевидно, что в более описательных именах нет необходимости.



Длина имени переменной должна быть пропорциональна ее области видимости.

Во избежание путаницы и конфликтов имен убедитесь в том, что все идентификаторы пишутся по-разному.

Имена функций (или методов) обычно представляют собой глаголы или отглагольные сушествительные: SearchO, ResetO, FindParagraphO, ShowCursor(). В качестве имен переменных обычно используются абстрактные сушествительные, иногда с дополнительным сушествительным: count, state, windSpeed, windowHeight. Логические переменные должны называться в соответствии с их назначением: windowlconized, filelsOpen.

Правописание и исппльзпвание приписных букв в именах

При создании собственного стиля важное значение имеет проверка правописания и использование в именах прописных букв. Считаю, что вам не стоит пренебрегать приведенными ниже советами.

Используйте прописные буквы и символ подчеркивания, чтобы отделить слова в имени идентификатора, например SOURCE FILE TEMPLATE. Однако имена, полностью состояшие из прописных букв, в С++ довольно редки. Они используются разве что для констант и шаблонов.

В именах других идентификаторов сочетаются строчные и прописные буквы с символами подчеркивания. Имена функций, методов, классов, типов и структур должны начинаться с прописных букв. Переменные-члены или локальные переменные обычно начинаются со строчных букв.

Константы перечислений должны начаться несколькими строчными буквами, представляюшими аббревиатуру имени перечисления, например:

enum TextStyle {

tsPlain, tsBold, tsltalic, tsUnderscore,

Комментарии значительно облегчают понимание профаммы. Иногда работа над профаммой прерывается на несколько дней или даже месяцев. За это время можно забыть, что делается в той или иной части профаммы либо зачем был написан определенный фрагмент кода. Проблемы могут также возникать в том случае, если ваш код анализирует кто-то другой (а не вы сами). Комментарии, используемые в соответствии с согласованным и хорошо продуманным стилем, оправдывают зафаченные на них усилия. Предлагаю несколько советов, которые стоит помнить при использовании комментариев.

Везде, где возможно, используйте для комментариев стиль С++, т.е. символы , а не пары символов /* /.

Комментарии более высокого уровня гораздо важнее, чем описание отдельного метода. Поясняйте смысл происходяшего, а не дублируйте словами выполняемые операции, как в этом примере:

П++; п инкрементируется на единицу

�8698884



1 ... 226 227 228 [ 229 ] 230 231 232 ... 265

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика