Форматирование кода Clojure в команде с несколькими редакторами

По мере роста нашей команды Clojure мы видим все больше и больше редакторов. Это вызывает много посторонних изменений.

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

В решении этой проблемы два главных претендента сейчас должны использовать cljfmt до фиксации и / или сценарий, который удаляет изменения пробелов из набора изменений git.

Как все остальные справляются с этим?

2 ответа

Решение

Вина Git становится совершенно непригодной, поскольку каждая строка в проекте раздувается из-за неинтересных изменений в форматировании.

Мало того, это также может привести к ненужным конфликтам. Использование инструмента форматирования (cljfmt как вы упомянули) в хуке pre-commit может помочь уменьшить эту проблему. Хук предварительной фиксации можно сделать активным (переформатировать файлы и зафиксировать) или пассивным (прервать фиксацию, если возникла проблема с форматированием).

Также рассмотрите возможность использования EditorConfig, с помощью которого вы можете настроить правила форматирования, а затем отслеживать файл конфигурации вместе с проектом. Некоторые IDE и редакторы имеют встроенную поддержку EditorConfig, многие другие имеют плагин.

Я также использую это, чтобы дополнить cljfmt: https://github.com/gfredericks/how-to-ns

Другие вопросы по тегам