Отступ (программирование)

Стиль о́тступов (индентация) — правила форматирования исходного кода, в соответствии с которыми отступы программных блоков проставляются в удобочитаемой манере.

Используемый стиль отступов обычно особо оговаривается в стандарте оформления кода.

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

Отступы в Си 

Существует четыре основных стиля отступов Си. Описанные ниже, все они имеют своей целью облегчение визуального отслеживания управляющих конструкций. Камнем преткновения является расстановка программных скобок { и } и оформление операторов (if, else, for, while, или do) в блоки.

Стиль «K&R» 

Назван в честь Кернигана и Ритчи из-за того, что все примеры из их книги «Язык программирования Си» (нередко обозначаемой как просто «K&R» по инициалам авторов) отформатированы подобным образом. Также известен как «kernel style» (BSD KNF; из-за того, что ядро UNIX написано на нём), а также как «Единственный Правильный Скобочный Стиль» () со слов его приверженцев. Основной отступ, показанный ниже, состоит из 8 пробелов (или одной табуляции) на уровень. Хотя чаще всего используется 4 пробела.

 if (<cond>) {
 ········<body>
 }

Стиль Олмана 

Стиль Олмана — по имени Эрика Олмана, программиста из Университета Беркли, написавшего множество BSD-утилит на нём (ещё известен как «стиль BSD»). Имеет сходство с Паскалем и Алголом. Этот стиль по умолчанию предлагается в Microsoft Visual Studio.

Стиль заключается в следующем:
 Открывающая программная скобка располагается на новой строке с тем же отступом, что и выражение, находящееся на предшествующей строке.
 Первое выражение внутри программных скобок располагается на новой строке с отступом, увеличенным (по выбору программиста) на:
 1 символ табуляции (данный вариант используется в исходном коде современных версий программы sendmail, автором которой является Эрик Олман)
 2, 4 или 8 пробелов (конкретный выбор количества пробелов должен оставаться неизменным на протяжении всего текста программы)
 любое другое количество пробелов или символов табуляции при условии, что это количество не изменяется на протяжении всего текста программы
 Последующие выражения внутри программных скобок располагаются с тем же отступом, что и первое.
 Закрывающая программная скобка располагается с отступом, равным отступу соответствующей ей открывающей программной скобке (то есть точно под нею).

Пример кода, отформатированного в стиле Олмана:

 if (<cond>)
 {
 ········<body>
 }

Стиль Уайтсмитс 

Стиль Уайтсмитс — популярен из-за примеров, шедших с Whitesmiths C — одним из первых компиляторов языка С. Основной отступ на уровень для скобок и блока — 4 пробела.

 if (<cond>)
 ····{
 ····<body>
 ····}

Стиль GNU 

Стиль GNU — используется во всех исходниках проекта GNU (например, GNU Emacs). Отступ составляет 2 символа на уровень, скобки расположены на собственном отступе.

 if (<cond>)
 ··{
 ····<body>
 ··}

Примечания

См. также 
 Отступ
 Стандарт оформления кода
 Подсветка синтаксиса

Ссылки 

 
 

Стандарт оформления кода
Текстовые редакторы