exp*_*pez 5 git diff whitespace code-formatting clojure
随着我们 Clojure 团队的成长,我们看到越来越多的编辑器在使用。这导致了许多无关的空白变化。
我最关心的并不是代码的格式如何——所有编辑器都会生成可读的代码——更多的是git blame变得非常不可用,因为项目中的每一行都会因格式的无趣更改而夸大其历史记录。
为了解决这个问题,现在两个最有力的竞争者是在提交之前使用cljfmt和/或从 git 的变更集中删除空白更改的脚本。
其他人都是如何处理这个问题的?
git Blame 变得非常不可用,因为项目中的每一行都因格式的无趣变化而夸大了其历史记录。
不仅如此,还可能引发不必要的冲突。cljfmt在预提交挂钩中使用格式化工具(正如您所提到的)可以帮助减少这个问题。预提交挂钩可以设置为主动(重新格式化文件并提交)或被动(如果存在格式问题则中止提交)。
还可以考虑使用EditorConfig,您可以使用它设置格式化规则,然后与项目一起跟踪配置文件。一些 IDE 和编辑器集成了对 EditorConfig 的支持,许多其他 IDE 和编辑器都有可用的插件。