Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Home-Programming.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
648.7 Кб
Скачать

4.1. Правила выбора идентификаторов

  1. Класс или структура – TUser, IRoot, ...

  2. Члены данных классов – ptr_Object, Object. Префикс m_ не рекомендуется, т.к. отличить член данных от локальных, статических и глобальных переменных можно и без него. Скорее префикс m_ в моем понимании может означать расстояние в метрах.

  3. Статические и глобальные объекты – s_ptr_Object, g_Object.

  4. Локальные переменные и параметры функции – var_local.

  5. Пространство имен – legend_kernel:: (одинаковое с локальными переменными обозначение не страшно, namespace сложно спутать с локальной переменной).

  6. Указатели – ptr_object (локальная переменная), ptr_Data (член данных).

  7. Переменные с единицами измерения: nm_Distance (расстояние в милях, член данных класса), ft_height (высота в футах, локальная переменная).

  8. Также разрешаются префиксы, показывающие смысл переменной array_Objects, list_added_elements.

  9. Перечислимый тип

enum TReadOptions

{

RO_Binary,

RO_Text

};

4.2. Выравнивание исходных текстов Символ табуляции запрещён

Всегда включайте замену табуляции пробелами в Microsoft Visual Studio. Это обеспечит единый вид Ваших исходных текстов при чтении их в различных редакторах.

Выравнивание блоков

С отступом в два пробела. Фигурная скобка пишется без отступа на отдельной строке.

if ( a )

{

i ++;

}

Запрещено писать непустое тело цикла или блок в if/else, не выделяя для этого хотя бы одной отдельной строки, то есть так:

if ( a ) { a = ! a; } // ЗАПРЕЩЕНО: неудобно отлаживать

if ( a ) a = ! a; //ЗАПРЕЩЕНО: неудобно отлаживать

Запрещено использовать оператор ‘,’ (запятая) для того, чтобы не писать фигурных скобок.

if ( a )

a = ! a, i ++; // ЗАПРЕЩЕНО: плохо читается и отлаживается

Пробелы

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

  1. вокруг лексемы '.' (точка) в значении “доступ к члену класса”;

  2. вокруг лексемы '->' в значении “доступ к члену класса по указателю”;

  3. перед лексемами ‘,’ (запятая) и ‘;’ (точка с запятой);

  4. после лексемы '&' в значении взятия указателя.

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

  1. чтобы избежать слишком длинной строки там, где это нежелательно;

  2. чтобы в отладчике удобнее было просматривать выражения, пользуясь курсором;

  3. чтобы при написании текста в оболочке Microsoft Visual Studio или другом редакторе работали подсказки и автоподстановки там, где это нужно.

Дополнительные пробелы могут вставляться для выравнивания столбцов в объявлениях и списках инициализации.

Примеры:

A [ I ].ptr_Q = 187 + &h;

g.f ( ( ( 187 * 4 ) + 2 ) / 47 ) ++;

TObj_ qqqqq ( 500 );

TObj_ qq ( 400 ); //«Лишние» пробелы допустимы, если есть желание

TObj_ q ( 800 ); //зачем-то подчеркнуть наличие столбца.

Длинные операторы

Следует избегать использования длинных (более чем 80-100 символов) операторов.

4.3. Комментарии

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

  2. Тем не менее, часто комментарии нужны. Если Вы хотите уточнить правила работы с методом - это логично и разумно делать в комментариях. Объем комментариев должен быть достаточен, чтобы Вы, взглянув на исходный текст через год, быстро разобрались, что он делает и почему написан именно так.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]