Indent: отступы и интервалы в программном коде
Хочу рассказать об утилите indent, помогающей разметить исходный код пробелами и табуляциями в соответствии с теми или иными стандартами. Программа классическая, входит в состав любого Linux-дистрибутива, в котором установлены пакеты, связанные с разработкой. Но так ли это важно — правильно оформлять исходники?
До тех пор, пока вы пишете «для себя», количество пробелов в начале строки, отступы между функциями и т.п., конечно же, не особо важны. Лишь бы самому автору читать было удобно. Как только появляется необходимость работать в серьезной команде — внешний вид кода приобретает важнейшее значение. Даже если ваша программа работает правильно, ее могут не принять (а значит не оплатить) из-за неправильно оформленных исходников, причем правила у каждого заказчика свои: кто-то хочет, чтобы строки не были слишком длинными, кто-то — чтобы фигурная скобка в операторе if открывалась на следующей строке, кто-то — чтобы на той же самой, кто-то любит начинать строку пробелами, кто-то табуляциями и т.п. Всем этим управляет утилита indent.
«Для себя», например, я пишу программы в собственном стиле, где отступы слева минимальны и оформляются пробелами, а операторы по возможности вытягиваются в одну строку, правая граница которой очень часто оказывается вне экрана. Мне важно видеть что за чем идет, а не мелкие детали, в них я более-менее уверен.
Если же программу будет читать кто-то другой, то ему, напротив, нужно проверить код на вменяемость, так что всё содержимое должно быть видно, пусть и ценой разбивки длинных строк и наличия пустот.
Опций-ключей у indent великое множество. Достаточно посмотреть первые страницы мануала, чтобы увидеть, что конец их перечня их теряется где-то в бесконечности.
Но никто не заставляет учить всё это. Есть наиболее употребляемые опции. Вот, например, как можно оформить исходники в стиле отцов-основателей языка C — Кернигана и Ритчи:
В GUI-средствах разработки, таких как Eclipse, есть встроенные средства проверки оформления кода (Checkstyle). Есть такой модуль и для сборщика ant. Но и indent пока не сдает позиций в деле грамотной разметки текста программ.
До тех пор, пока вы пишете «для себя», количество пробелов в начале строки, отступы между функциями и т.п., конечно же, не особо важны. Лишь бы самому автору читать было удобно. Как только появляется необходимость работать в серьезной команде — внешний вид кода приобретает важнейшее значение. Даже если ваша программа работает правильно, ее могут не принять (а значит не оплатить) из-за неправильно оформленных исходников, причем правила у каждого заказчика свои: кто-то хочет, чтобы строки не были слишком длинными, кто-то — чтобы фигурная скобка в операторе if открывалась на следующей строке, кто-то — чтобы на той же самой, кто-то любит начинать строку пробелами, кто-то табуляциями и т.п. Всем этим управляет утилита indent.
«Для себя», например, я пишу программы в собственном стиле, где отступы слева минимальны и оформляются пробелами, а операторы по возможности вытягиваются в одну строку, правая граница которой очень часто оказывается вне экрана. Мне важно видеть что за чем идет, а не мелкие детали, в них я более-менее уверен.
Если же программу будет читать кто-то другой, то ему, напротив, нужно проверить код на вменяемость, так что всё содержимое должно быть видно, пусть и ценой разбивки длинных строк и наличия пустот.
Опций-ключей у indent великое множество. Достаточно посмотреть первые страницы мануала, чтобы увидеть, что конец их перечня их теряется где-то в бесконечности.
Но никто не заставляет учить всё это. Есть наиболее употребляемые опции. Вот, например, как можно оформить исходники в стиле отцов-основателей языка C — Кернигана и Ритчи:
indent -kr hello.c
В GUI-средствах разработки, таких как Eclipse, есть встроенные средства проверки оформления кода (Checkstyle). Есть такой модуль и для сборщика ant. Но и indent пока не сдает позиций в деле грамотной разметки текста программ.
Комментарии (4)
RSS свернуть / развернутьнажимаем:
gg — переход в начало текста
= — форматируем код
shift+g — переход в конец
Sergei_T
Завидую!
Markony
Что касается отсутствия в нашей стране навыков командной работы, то именно в этом весь секрет отечественных неудач в сфере IT. Сплошная басня Крылова «Лебедь, Щука и Рак». Причем в основном рак во всех смыслах этого слова.
А еще в Библии подобная ситуация описана:
Быт. 11:1-9
yababay
Sergei_T
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.