提交到GIT之前的代码格式

vic*_*ico 8 git code-formatting bitbucket

根据我的理解,当两个开发人员在同一个项目上工作,但使用不同的编码风格时,GIT中没有内置的方法来统一提交的源.如果我错了,请纠正我.

我应该要求所有开发人员使用相同的样式格式化代码吗?

我可以要求GIT以某种方式根据相同的样式格式化代码吗?是否可以使用BitBucket实现自动代码格式?

pad*_*ddy 5

我是否应该要求所有开发人员以相同的样式设置代码格式?

是的,这是个好主意。

项目通常具有编码样式准则,以减少出现问题的机会。这些范围可以从非常宽松到非常严格。准则包括但不限于布局和格式。

与我合作的大多数开发人员都非常乐意采用当前项目的样式,即使这不是他们的个人样式。这是为了更大的利益。它有助于提高可读性,并减少“格式修正”与实际更改混在一起的可能性。如果我在编辑没有指定样式指南的代码,则将尝试尽可能地遵循现有样式。

开发人员最糟糕的事情是在提交之前通过具有自己的布局规则的自动格式化程序来运行整个源文件。这可能会导致与他们所从事的工作实际上不相关的地方发生全面变化,并且当您在多个分支机构中工作时,总是会导致痛苦的合并冲突。

我可以要求GIT按照相同的样式格式化代码吗?使用BitBucket可以实现自动代码格式吗?

我将通过挑战您为什么要这样做来回答这个问题。请注意具有可自动格式化或拒绝基于“不正确”样式的提交的提交挂钩。

这就是代码审查的目的,并且在代码中总是存在人类可以做得更好的例外情况(例如,在C ++领域,clang-format大多数情况下做得很好,但几乎吸收了涉及非平凡的初始化程序列表的所有内容)。强迫每个人接受机器的解释很可能会造成阻碍。

  • 不,这是一个糟糕的主意。完美的解决方案尚未设计出来(商业机会,伙计们),但理想的解决方案是双向格式化程序 - 当您签出某些内容时,它会将其格式化为您想要的设置,当您重新签入时,它会将其设置为公司标准。显而易见的解决方案,不涉及代码纳粹主义。 (2认同)

pgu*_*how 1

据我所知,BitBucket 不具备此功能。

但我认为找到一种共同的风格是个好主意,以便提供快速的交流。

为此,有时使用具有集成格式化功能的 IDE 并共享设置(如果可能)会很有用。我认为 Eclipse 是一个很好的解决方案,因为它支持很多语言。

在我的团队的案例中,我们使用 MS Visual Studio 和 Allmann Style,因为它本身就受到自动格式化的支持。