Урок 18. Whitespace и базовое форматирование

   ⁄ 

 Обновлено 24 Фев 2017

  ⁄   

⁄  2

Whitespace (пробел) относится к символам, которые используются в форматировании. В C++ к whitespaces можно отнести не только пробелы, но и символы табуляции и, иногда, перевод (разрыв) строки. Компилятор, как правило, игнорирует пробелы, но все же есть небольшие исключения.

Здесь все строчки кода делают одно и то же:

Даже последняя инструкция с переводом строки будет компилироваться.

Также все нижние функции выполняют одно задание:

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

"Hello, world!"

отличается от

"Hello,     world!"

Здесь пробелы уже учитываются.

Перевод строки (newline) не допускается в цитируемом тексте:

Еще одним исключением, где компилятор C++ обращает внимание на пробелы, являются однострочные (//) комментарии. Они занимают только одну строку. Таким образом, делая подобное, вы получите ошибку:

Базовое форматирование

В отличии от других языков, C++ не имеет каких-либо ограничений в форматировании для программистов (помните, суть языка — доверять программисту!). Есть много разных способов. Наше основное правило заключается в том, что самыми лучшими способами являются те, которые максимально увеличивают читабельность и логичность кода.

Вот несколько рекомендаций в основах форматирования:

1) Вместо TAB используйте 4 пробела. В некоторых IDE по умолчанию стоят тройные пробелы в качестве одного TAB, это тоже нормально (количество пробелов можно легко настроить в соответствующих пунктах меню IDE).

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

2) Фигурные скобки, где функция начинается и заканчивается, должны находится на одном уровне в отдельных строках:

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

3) Каждая инструкция в фигурных скобках функции должна начинаться с одного таба от начала строки. Пример:

4) Линии не должны быть слишком длинными. Как правило, 72, 78 или 80 символов – это максимальная длина линии. Если строка будет длиннее, её следует разбить на несколько отдельных. Это выполняется с помощью одного дополнительного отступа для второй строки или, если линии похожи, новая строка + выравнивания.

5) Если длинная линия разбита на части с помощью оператора (например, << или +), то оператор должен находится в конце этой же строки, а не в начале следующей. Так намного читабельнее.

Правильно:

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

6) Используйте пробел для улучшения читабельности вашего кода.

Сложно читать:

Легче читать:

Сложно читать:

Легче читать:

Сложно читать:

Легче читать:

Мы будем следовать этим правилам на протяжении всех уроков этого туториала. Тем не менее, C++ дает возможность выбора стиля, в котором вам будет наиболее комфортно. Но мы рекомендуем использовать стиль, который используется в наших примерах. Эти рекомендации были испытаны тысячами программистов на протяжении миллиардов строк кода, так что в их разумности и удобности можно не сомневаться 🙂

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (38 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в:
Подписаться на обновления:

Комментариев: 2

  1. Дима:

    Терпень не могу такой стиль:

    int main()
    {
    }

    Он мне кажется каким-то неаккуратным.
    Мне куда больше нравится такой способ:

    int main() {

    }

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

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

    Помимо того в способе с переносом скобок получается значительно больше кода, осбенно когда есть много мелких функций.
    А работать с большим файлом сложнее. Конечно, код все равно разбивается на много файлов, но все же…

    Хотя это все конечно дело вкуса)

    1. Li4ik:

      В статье описываются рекомендации к базовому форматированию. А каждый уже решает сам, чему ему придерживаться и как писать код. Как уже было сказано, о вкусах не спорят 🙂

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *