275
Размер сдвига не должен быть ни слишком мал, ни слишком велик.
Оптимальная величина составляет 2-5 пробелов. Наиболее часто для сдвигов
используют табуляцию, устанавливая при этом для нее желаемый шаг.
Последняя возможность поддерживается большинством интегрированных сред
разработчика.
А.3.3 Операторные скобки
Существует два основных стиля расстановки операторных скобок. При
использовании первого стиля открывающаяся скобка помещается на той же
строке, что и управляющая конструкция, а закрывающаяся – строго на уровне
управляющей конструкции:
int factorial( int n ) {
if( n > 1 )
return n * factorial( n-1 );
if( n < 0 ) {
fprintf( stderr, "Factorial error: negative argument\n" );
return -1; //Заведомо невозможный результат
}
return 1;
}
Второй подход покажем на том же примере:
int factorial( int n )
{
if( n > 1 )
return n * factorial( n-1 );
if( n < 0 )
{
fprintf( stderr, "Factorial error: negative argument\n" );
return -1; //Заведомо невозможный результат
}
return 1;
}
Как видно, отличие состоит в положении открывающейся скобки. Однако
закрывающаяся скобка в обоих случаях должна находиться на уровне
управляющего оператора или описания. Многим специалистам представляется,
что второй подход оправдан в большей мере, так как обеспечивает улучшенную
наглядность. Открывающаяся и закрывающаяся скобки при этом располагаются
строго друг под другом, что помогает находить начало и конец составного
оператора,
функции или описания класса.
Заметим, что наличие или отсутствие скобок не влияет на наличие и
размер отступов, что видно в приведенных примерах.
Изредка можно встретить еще и третий стиль, подобный второму, но
характеризующийся расположением скобок где-нибудь внутри отступа:
int factorial( int n )
{
if( n > 1 )
return n * factorial( n-1 );
if( n < 0 )
276
{
fprintf( stderr, "Factorial error: negative argument\n" );
return -1; //Заведомо невозможный результат
}
return 1;
}
Этот стиль, несомненно, хуже второго, поскольку не только не привносит
какой-либо дополнительной ясности, но и несколько снижает ее. Во-первых,
выбор положения скобок где-то внутри отступа произволен и ничем не
обоснован. Во-вторых, количество вертикальных зрительных линий отступов
из-за этого удваивается и составляет вместо обычных 4-5 линий 8-10, что
снижает наглядность без повышения информативности.
А.3.4 Пробелы
Особенность зрительного восприятия человека такова, что пробелы
распознаются лучше других знаков синтаксиса. Поэтому отдельные элементы
текста необходимо отделять пробелами, несмотря на то, что первые, возможно,
уже отделены другими знаками препинания (скобки, запятые, точки с запятой и
т.д.). В особенности важно отделять стоящие рядом операторы и списки
аргументов функций:
Таблица 37. Расстановка пробелов
Достарыңызбен бөлісу: