Отступ (программирование)
Стиль о́тступов (индентация) — правила форматирования исходного кода, в соответствии с которыми отступы программных блоков проставляются в удобочитаемой манере.
Используемый стиль отступов обычно особо оговаривается в стандарте оформления кода.
Редакторы текста, входящие в состав большинства популярных сред разработки, часто предоставляют средства для поддержки используемого стиля отступов, например, автоматическую вставку пробелов/табуляции при вводе скобок, обозначающих начало/конец логического блока.
Отступы в Си
Существует четыре основных стиля отступов Си. Описанные ниже, все они имеют своей целью облегчение визуального отслеживания управляющих конструкций. Камнем преткновения является расстановка программных скобок {
и }
и оформление операторов (if
, else
, for
, while
, или do
) в блоки.
Стиль «K&R»
Назван в честь Кернигана и Ритчи из-за того, что все примеры из их книги «Язык программирования Си» (нередко обозначаемой как просто «K&R» по инициалам авторов) отформатированы подобным образом. Также известен как «kernel style» (BSD KNF; из-за того, что ядро UNIX написано на нём), а также как «Единственный правильный скобочный стиль» (англ. One True Brace Style, 1TBS) со слов его приверженцев. Основной отступ, показанный ниже, состоит из 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 символа на уровень, скобки расположены на собственном отступе[1].
if (<cond>) ··{ ····<body> ··}
См. также
Примечания
- ↑ GNU Coding Standards (англ.). Дата обращения: 21 августа 2013. Архивировано 23 декабря 2010 года.
Ссылки
- Кляус, Сергей Оформление кода в C . Sources.RU Magazine (январь 2005). Дата обращения: 11 июня 2006. Архивировано 14 февраля 2012 года.
- indent style – стиль отступов . Новый Хакерский Словарь. Дата обращения: 11 июня 2006. Архивировано из оригинала 16 марта 2011 года.