Автоматное программирование
- 1 year ago
- 0
- 0
Стиль о́тступов (индентация) — правила форматирования исходного кода , в соответствии с которыми отступы программных блоков проставляются в удобочитаемой манере.
Используемый стиль отступов обычно особо оговаривается в стандарте оформления кода .
Редакторы текста , входящие в состав большинства популярных сред разработки , часто предоставляют средства для поддержки используемого стиля отступов, например, автоматическую вставку пробелов/табуляции при вводе скобок, обозначающих начало/конец логического блока.
Существует четыре основных стиля отступов
Си
. Описанные ниже, все они имеют своей целью облегчение визуального отслеживания управляющих конструкций. Камнем преткновения является расстановка программных скобок
{
и
}
и оформление
операторов
(
if
,
else
,
for
,
while
, или
do
) в
блоки
.
Назван в честь Кернигана и Ритчи из-за того, что все примеры из их книги « Язык программирования Си » (нередко обозначаемой как просто «K&R» по инициалам авторов) отформатированы подобным образом. Также известен как «kernel style» (BSD KNF; из-за того, что ядро UNIX написано на нём), а также как «Единственный Правильный Скобочный Стиль» ( англ. One True Brace Style - 1TBS ) со слов его приверженцев. Основной отступ, показанный ниже, состоит из 8 пробелов (или одной табуляции ) на уровень. Хотя чаще всего используется 4 пробела.
if (<cond>) { ········<body> }
Стиль Олмана — по имени Эрика Олмана , программиста из Университета Беркли , написавшего множество BSD - утилит на нём (ещё известен как «стиль BSD»). Имеет сходство с Паскалем и Алголом . Этот стиль по умолчанию предлагается в Microsoft Visual Studio .
Стиль заключается в следующем:
Пример кода, отформатированного в стиле Олмана:
if (<cond>) { ········<body> }
Стиль Уайтсмитс — популярен из-за примеров, шедших с Whitesmiths C — одним из первых компиляторов языка С. Основной отступ на уровень для скобок и блока — 4 пробела.
if (<cond>) ····{ ····<body> ····}
Стиль GNU — используется во всех исходниках проекта GNU (например, GNU Emacs ). Отступ составляет 2 символа на уровень, скобки расположены на собственном отступе .
if (<cond>) ··{ ····<body> ··}