Стиль отступов
Материал из Википедии — свободной энциклопедии
Стиль о́тступов — правила форматирования исходного кода, в соответствии с которыми отступы проставляются в удобочитаемой манере.
Используемый стиль отступов обычно особо оговаривается в стандарте оформления кода.
Редакторы текста, входящие в состав большинства популярных сред разработки, часто предоставляют средства для поддержки используемого стиля отступов, например, автоматическую вставку пробелов/табуляции при вводе скобок, обозначающих начало/конец логического блока.
Несомненно, предмет данной статьи является причиной бесконечных «священных войн».
Содержание |
[править] Отступы в Си
Существует четыре основных стиля отступов Си. Описанные ниже, все они имеют своей целью облегчение визуального отслеживания управляющих конструкций. Камнем преткновения является расстановка {
и }
и оформление операторов (if
, else
, for
, while
, или do
) в блоки.
[править] Стиль «K&R»
Назван в честь Кернигана и Ричи из-за того, что все примеры из K&R отформатированы подобным образом. Также известен как «kernel style» (из-за того, что ядро UNIX написано на нем), а также как «Единственный Правильный Скобочный Стиль» (англ. One True Brace Style - 1TBS) со слов его приверженцев. Основной отступ, показанный ниже, состоит из 8 пробелов (или одной табуляции) на уровень. Иногда (но реже) используются 4 пробела.
if (<cond>) { ········<body> }
[править] Стиль Олмана
Стиль Олмана — по имени Эрика Олмана, хакера из Беркли, написавшего множество BSD-утилит на нем (еще известен как «стиль BSD»). Имеет сходство с Паскалем и Алголом. Основной отсуп на уровень — 8 пробелов, но не менее распространен стиль в 4 пробела (особенно в C++). Является стандартом оформления кода в Microsoft.
if (<cond>) { ········<body> }
[править] Стиль Уайтсмита
Стиль Уайтсмита — популярен из-за примеров, шедших с Whitesmiths C — ранним компилятором с языка С. Основной отступ на уровень для скобок и блока — 8 пробелов.
if (<cond>) ········{ ········<body> ········}
[править] Стиль GNU
Стиль GNU — используется во всех исходниках Emacs и Free Software Foundation. Отступы всегда 4 символа на уровень, скобки находятся на половине отступа.
if (<cond>) ··{ ····<body> ··}
[править] Популярность стилей
Исследования показали наибольшее распространение стилей Олмана и Уайтсмита, с примерно равным количеством поклонников на каждый. K&R/1TBS считается более универсальным, но распространен сейчас мало (открывающая скобка имеет тенденцию теряться). Защитники 1TBS приводят в защиту стиля, экономность в использовании вертикального пространства, когда на одном экране можно прочесть большее количество строк текста.
[править] См. также
[править] Ссылки
- Кляус, Сергей (Январь 2005) Оформление кода в C Sources.RU Magazine . Проверено 11 июня 2006 г.
- indent style – стиль отступов Новый Хакерский Словарь. Проверено 11 июня 2006 г.