Урок №18. Базовое форматирование кода



Книга Урок №18. Базовое форматирование кода

Пробелы, вместе с символами табуляции и переноса строки, являются неотъемлемой частью форматирования кода. Хотя компилятор обычно не обращает внимания на пробелы, существуют некоторые исключения.

В данном примере все строки программного кода выполняют одну и ту же функцию:

std :: cout << "Hello, world!" ;

std :: cout << "Hello, world!" ;

std :: cout << "Hello, world!" ;

std :: cout

<< "Hello, world!" ;

Даже последний высказывание с переносом строки будет успешно обработано компилятором.

То же самое:

int add ( int x , int y ) { return x + y ; }

int add ( int x , int y ) {

return x + y ; }

int add ( int x , int y )

{ return x + y ; }

int add ( int x , int y )

{

return x + y ;

}

Исключением является случай, когда компилятор учитывает пробелы, это происходит в цитируемом тексте, например: "Hello, world!".

"Greetings, Earth!"

имеет различия с

Привет, мир!

В цитируемом тексте не разрешается использовать разрывы или переносы строки:

std :: cout << "Hello,

world!" << std :: endl ; // Не допускается!

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

std :: cout << "Hello, world!" << std :: endl ; // это однострочный комментарий

А это уже не комментарий

Основные рекомендации

В отличие от многих других языков программирования, в C++ отсутствуют строгие ограничения по форматированию кода, оставляя программисту полную свободу действий. Основной принцип заключается в использовании тех методов, которые способствуют улучшению читаемости и логичности кода.

Вот шесть ключевых советов:

Совет №1: Для замены символа табуляции (клавиша «Tab») рекомендуется использовать 4 пробела. В некоторых средах разработки по умолчанию установлено три пробела в качестве одного символа табуляции — это также допустимо (количество пробелов легко настраивается в соответствующих разделах меню вашей среды разработки).

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

Второй совет: Фигурные скобки функции должны открываться и закрываться на одном уровне, каждая на отдельной строке.

int main ( )

{

}

Хотя есть еще и следующий вариант (вы также можете его использовать):

int main ( ) {

//...

}

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

Совет №3: Для каждого оператора функции необходимо использовать правильный отступ (нажатие клавиши Tab или вставка 4 пробелов):

int main ( )

{

std :: cout << "Hello world!" << std :: endl ; // один Tab (4 пробела)

std :: cout << "Nice to meet you." << std :: endl ; // один Tab(4 пробела)

}

Совет №4: Длина строк не должна превышать 72, 78 или 80 символов - это оптимальный предел. Если строка будет слишком длинной, лучше разбить её на несколько отдельных.

int main ( )

{

std :: cout << "This is a really, really, really, really, really, really, really, " <<

"really long line" << std :: endl ; // один дополнительный отступ для строки-продолжения

std :: cout << "This is another really, really, really, really, really, really, really, " <<

"really long line" << std :: endl ; // отступ + выравнивание с учетом главной строки

std :: cout << "This one is short" << std :: endl ;

}

Совет №5: Чтобы улучшить читаемость, если длинную строку разбивают на части с помощью определенного оператора (например, << или +), то этот оператор следует поместить в конце той же строки, а не в начале следующей.

Верно:

std :: cout << "This is a really, really, really, really, really, really, really, " <<

"really long line" << std :: endl ;

Неправильно:

std :: cout << "This is a really, really, really, really, really, really, really, "

<< "really long line" << std :: endl ;

Совет №6: Для повышения удобочитаемости вашего кода рекомендуется добавлять пробелы и переносы строк между операторами.

Более сложно для восприятия:

nCost = 57 ;

nPricePerItem = 24 ;

nValue = 5 ;

nNumberOfItems = 17 ;

Более удобочитаемо:

nCost = 57 ;

nPricePerItem = 24 ;

nValue = 5 ;

nNumberOfItems = 17 ;

Более сложно для восприятия:

std :: cout << "Hello world!" << std :: endl ; // cout и endl находятся в библиотеке iostream

std :: cout << "It is very nice to meet you!" << std :: endl ; // эти комментарии ухудшают читабельность кода

std :: cout << "Yeah!" << std :: endl ; // особенно, когда строки разной длины

Более удобочитаемо:

std :: cout << "Hello world!" << std :: endl ; // cout и endl находятся в библиотеке iostream

std :: cout << "It is very nice to meet you!" << std :: endl ; // эти комментарии более читабельны

std :: cout << "Yeah!" << std :: endl ; // не так ли?

Более сложно для восприятия:

// cout и endl находятся в библиотеке iostream

std :: cout << "Hello world!" << std :: endl ;

// эти комментарии ухудшают читабельность кода

std :: cout << "It is very nice to meet you!" << std :: endl ;

// особенно, когда они в одной куче

std :: cout << "Yeah!" << std :: endl ;

Более удобочитаемо:

// cout и endl находятся в библиотеке iostream

std :: cout << "Hello world!" << std :: endl ;

// эти комментарии читать легче

std :: cout << "It is very nice to meet you!" << std :: endl ;

// ведь они разделены дополнительными строками

std :: cout << "Yeah!" << std :: endl ;

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

145   0  

Comments

    Ничего не найдено.