|
Программирование >> Дополнительные возможности наследования
Шигурныв скобки Способ выравнивания фигурных скобок вызывает, возможно, самые бурные споры между программистами С++ и С. Я лично придерживаюсь следующих правил: пара фигурных скобок должна быть выровнена по вертикали; фигурные скобки первого уровня в определении или объявлении должны быть выровнены по левому полю. Все строки блока объявления или определения записываются с отступом. Все вложенные пары фигурных скобок должны быть выровнены по одной линии со строкой программы, за которой начинается этот блок; строки блока никогда не должны находиться на одной линии с фигурными скобками, обрамляющими этот блок, например: 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
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |