Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


У функций нужно обязательно указывать тип возвращаемого значения




int getValue() // НЕЛЬЗЯ: getValue()

{

:

}


Если это не указано явно, C++ считает, что возвращаемое значение имеет тип int. Никогда нельзя полагаться на это, поскольку такой способ может смутить программистов, не знакомых с ним.

69. Не следует использовать goto.

Этот оператор нарушает принципы структурного программирования. Следует использовать только в очень редких случаях (например, для выхода из глубоко вложенного цикла), когда иные варианты однозначно ухудшат читаемость.

70. Следует использовать «0» вместо «NULL».

NULL является частью стандартной библиотеки C и устарело в C++.

 

6.1


71. Основной отступ следует делать в два пробела.

for (i = 0; i < nElements; i++)

a[i] = 0;


Отступ в один пробел достаточно мал, чтобы отражать логическую структуру кода. Отступ более 4 пробелов делает глубоко вложенный код нечитаемым и увеличивает вероятность того, что строки придётся разбивать. Широко распространены варианты в 2, 3 или 4 пробела; причём 2 и 4 — более широко.

Блоки кода следует оформлять так, как показано в примере 1 (рекомендуется) или в примере 2, но ни в коем случае не так, как показано в примере 3. Оформление функций и классов должно следовать примеру 2.

while (!done) {

doSomething();

done = moreToDo();

}

 

while (!done)

{

doSomething();

done = moreToDo();

}

 

while (!done)

{

doSomething();

done = moreToDo();

}


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

73. Объявления классов следует оформлять следующим образом:

class SomeClass: public BaseClass

{

public:

...

 

protected:

...

 

private:

...

}


Частное следствие из правила, указанного выше.

74. Определения методов следует оформлять следующим образом:

void someMethod()

{

...

}


Следствие из правила, указанного выше.

75. Конструкцию if-else следует оформлять следующим образом:

if (condition) {

statements;

}

 

if (condition) {

statements;

}

else {

statements;

}

 

if (condition) {

statements;

}

else if (condition) {

statements;

}

else {

statements;

}


Следствие из правила, указанного выше. Причём написание else на той же строке, где стоит закрывающая фигурная скобка первого блока, не является запрещённым:

if (condition) {

statements;

} else {

statements;

}


Лучше каждую часть if-else помещать на отдельной строке. Это упрощает действия с кодом, например, перемещение блока else.

76. Цикл for следует оформлять следующим образом:

for (initialization; condition; update) {

statements;

}


Следствие из правила, указанного выше.

77. Цикл for с пустым телом следует оформлять следующим образом:

for (initialization; condition; update)

;


Делает акцент для читающего на том, что тело пусто. Однако циклов, не имеющих тела, следует избегать.

78. Цикл while следует оформлять следующим образом:

while (condition) {

statements;

}


Следствие из правила, указанного выше.

79. Цикл do-while следует оформлять следующим образом:

do {

statements;

} while (condition);


Следствие из правила, указанного выше.

80. Конструкцию switch следует оформлять следующим образом:

switch (condition) {

case ABC:

statements;

// Отсутствует "break"

 

case DEF:

statements;

break;

 

case XYZ:

statements;

break;

 

default:

statements;

break;

}


Обратите внимание, что каждое слово case имеет отступ относительно всей конструкции, что помогает её выделить. Также обратите внимание на пробелы перед двоеточиями. Если где-то отсутствует ключевое слово break, то предупреждением об этом должен служить комментарий. Программисты часто забывают ставить это слово, поэтому случай нарочного его пропуска должен описываться специально.

81. Конструкцию try-catch следует оформлять следующим образом:

try {

statements;

}

catch (Exception& exception) {

statements;

}


Следствие из правила, указанного выше. Вопросы, касающиеся закрывающих фигурных скобок у конструкции if-else, применимы и здесь.

82. Если конструкция if-else содержит только одно выражение в теле, фигурные скобки можно опускать.

if (condition)

statement;

 

while (condition)

statement;

 

for (initialization; condition; update)

statement;


Рекомендуется всё же не опускать фигурные скобки.





Поделиться с друзьями:


Дата добавления: 2015-10-20; Мы поможем в написании ваших работ!; просмотров: 384 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лучшая месть – огромный успех. © Фрэнк Синатра
==> читать все изречения...

4354 - | 4219 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.