在多编辑团队中格式化 Clojure 代码

exp*_*pez 5 git diff whitespace code-formatting clojure

随着我们 Clojure 团队的成长,我们看到越来越多的编辑器在使用。这导致了许多无关的空白变化。

我最关心的并不是代码的格式如何——所有编辑器都会生成可读的代码——更多的是git blame变得非常不可用,因为项目中的每一行都会因格式的无趣更改而夸大其历史记录。

为了解决这个问题,现在两个最有力的竞争者是在提交之前使用cljfmt和/或从 git 的变更集中删除空白更改的脚本。

其他人都是如何处理这个问题的?

alf*_*unx 4

git Blame 变得非常不可用,因为项目中的每一行都因格式的无趣变化而夸大了其历史记录。

不仅如此,还可能引发不必要的冲突。cljfmt在预提交挂钩中使用格式化工具(正如您所提到的)可以帮助减少这个问题。预提交挂钩可以设置为主动(重新格式化文件并提交)或被动(如果存在格式问题则中止提交)。

还可以考虑使用EditorConfig,您可以使用它设置格式化规则,然后与项目一起跟踪配置文件。一些 IDE 和编辑器集成了对 EditorConfig 的支持,许多其他 IDE 和编辑器都有可用的插件。