Indent: отступы и интервалы в программном коде

Хочу рассказать об утилите indent, помогающей разметить исходный код пробелами и табуляциями в соответствии с теми или иными стандартами. Программа классическая, входит в состав любого Linux-дистрибутива, в котором установлены пакеты, связанные с разработкой. Но так ли это важно — правильно оформлять исходники?

До тех пор, пока вы пишете «для себя», количество пробелов в начале строки, отступы между функциями и т.п., конечно же, не особо важны. Лишь бы самому автору читать было удобно. Как только появляется необходимость работать в серьезной команде — внешний вид кода приобретает важнейшее значение. Даже если ваша программа работает правильно, ее могут не принять (а значит не оплатить) из-за неправильно оформленных исходников, причем правила у каждого заказчика свои: кто-то хочет, чтобы строки не были слишком длинными, кто-то — чтобы фигурная скобка в операторе if открывалась на следующей строке, кто-то — чтобы на той же самой, кто-то любит начинать строку пробелами, кто-то табуляциями и т.п. Всем этим управляет утилита indent.

«Для себя», например, я пишу программы в собственном стиле, где отступы слева минимальны и оформляются пробелами, а операторы по возможности вытягиваются в одну строку, правая граница которой очень часто оказывается вне экрана. Мне важно видеть что за чем идет, а не мелкие детали, в них я более-менее уверен.



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



Опций-ключей у indent великое множество. Достаточно посмотреть первые страницы мануала, чтобы увидеть, что конец их перечня их теряется где-то в бесконечности.



Но никто не заставляет учить всё это. Есть наиболее употребляемые опции. Вот, например, как можно оформить исходники в стиле отцов-основателей языка C — Кернигана и Ритчи:

indent -kr hello.c


В GUI-средствах разработки, таких как Eclipse, есть встроенные средства проверки оформления кода (Checkstyle). Есть такой модуль и для сборщика ant. Но и indent пока не сдает позиций в деле грамотной разметки текста программ.
  • +10
  • 14 июля 2010, 12:36
  • yababay

Комментарии (4)

RSS свернуть / развернуть
+
+1
Кстати, vim уже работает с ним
нажимаем:
gg — переход в начало текста
= — форматируем код
shift+g — переход в конец

avatar

Sergei_T

  • 14 июля 2010, 12:52
+
0
А у нас есть счастливчики работающие в команде ?
Завидую!
avatar

Markony

  • 14 июля 2010, 12:59
+
+1
Работа на заказ — не всегда = работа в команде. Просто заказчик может потребовать, чтобы код был оформлен определенным образом.

Что касается отсутствия в нашей стране навыков командной работы, то именно в этом весь секрет отечественных неудач в сфере IT. Сплошная басня Крылова «Лебедь, Щука и Рак». Причем в основном рак во всех смыслах этого слова.

А еще в Библии подобная ситуация описана:

И сказали друг другу: наделаем кирпичей и обожжем огнем. И стали у них кирпичи вместо камней, а земляная смола вместо извести.
И сказали они: построим себе город и башню, высотою до небес, и сделаем себе имя, прежде нежели рассеемся по лицу всей земли.
И сошел Господь посмотреть город и башню, которые строили сыны человеческие.
И сказал Господь: вот, один народ, и один у всех язык; и вот что начали они делать, и не отстанут они от того, что задумали делать;
сойдем же и смешаем там язык их, так чтобы один не понимал речи другого.
И рассеял их Господь оттуда по всей земле; и они перестали строить город [и башню].
Посему дано ему имя: Вавилон, ибо там смешал Господь язык всей земли, и оттуда рассеял их Господь по всей земле.


Быт. 11:1-9
avatar

yababay

  • 14 июля 2010, 13:22
+
+1
напоминает сообщество разработчиков костыльного проекта
avatar

Sergei_T

  • 14 июля 2010, 13:49

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.