Промышленные инструменты форматирования кода

StackOverflow https://stackoverflow.com/questions/831145

  •  06-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top