Промышленные инструменты форматирования кода - PullRequest
1 голос
/ 06 мая 2009

Какие инструменты наиболее широко используются в отрасли для форматирования исходного кода, в частности C ++, чтобы получить согласованность стилей всей базы кода? Возможно, инструменты, которые позволят пользователю выбрать, какой стиль применить (например, BSD, GNU и т. Д.)? *

Я не смог найти много ссылок в Интернете на надежные, широко распространенные инструменты для такой вещи, может быть, компании, которые используют эти инструменты, создают свои собственные?

Ответы [ 2 ]

2 голосов
/ 06 мая 2009

Кажется, что нет ни одного "стандартного" инструмента форматирования кода. Для этого есть веская причина: переформатирование огромных блоков кода почти всегда является плохой идеей (1). Если ничего другого, через шесть месяцев вам придется объединить изменения из другой ветки, и если вы переформатировали свою ветку, вы обречены. Лучше просто адаптироваться к существующему стилю кода в существующих модулях.

1) Я бы сказал «всегда», за исключением одного исключения, с которым я столкнулся: около тысячи строк комментариев, содержащих диаграммы железнодорожных путей. Они были ЕДИНСТВЕННОЙ документацией для критической части синтаксиса опубликованного языка программирования. Предыдущий владелец кода отредактировал использование редактора из MASM, который сделал очень странных вещей для пустого пространства - много смешанных пробелов и табуляции Код, указанный в комментариях, не компилировался, и я должен был знать, что он должен был делать ... Я потратил неделю на переформатирование этих железнодорожных путей.

0 голосов
/ 06 мая 2009

Мне еще предстоит увидеть специальный инструмент, помимо того, что ваша IDE (добавьте к нему небольшой набор стандартных плагинов) предлагает для форматирования исходного кода. Конечно, могут быть организации, которые их используют.

Кажется, вы находитесь под влиянием инструмента indent. Увы, большинство организаций, как правило, имеют свои собственные стандарты форматирования, которые могут / не могут относиться к одному из стилей, которые вы упоминаете. Они могут быть более удобно представлены в пользовательском файле .indent.

...