C# 如果可以在源代码管理提交、签出、差异等之前和之后自动格式化代码,那么公司真的需要标准的代码样式吗?
如果可以在源代码管理提交、签出、差异等之前和之后自动格式化代码,那么公司真的需要标准的代码样式吗 这感觉就像是自编程开始以来一直在激烈争论的标准编码风格,如“将括号放在下一行”或“正确缩进您的代码”不再是必需的C# 如果可以在源代码管理提交、签出、差异等之前和之后自动格式化代码,那么公司真的需要标准的代码样式吗?,c#,java,svn,version-control,autoformatting,C#,Java,Svn,Version Control,Autoformatting,如果可以在源代码管理提交、签出、差异等之前和之后自动格式化代码,那么公司真的需要标准的代码样式吗 这感觉就像是自编程开始以来一直在激烈争论的标准编码风格,如“将括号放在下一行”或“正确缩进您的代码”不再是必需的 我意识到,在语言中白空间很重要,差异将不得不考虑它,但是对于风格是个人偏好的语言来说,真的有必要再担心它吗? < P>如果商店使用的编码风格与开发工具相同,则总是不错的。 否则,如果有大量代码已遵循与工具标准不同的车间标准,则有两种选择: 修改所有代码以遵循工具标准,或 保持现有的车间标
<>我意识到,在语言中白空间很重要,差异将不得不考虑它,但是对于风格是个人偏好的语言来说,真的有必要再担心它吗? < P>如果商店使用的编码风格与开发工具相同,则总是不错的。 否则,如果有大量代码已遵循与工具标准不同的车间标准,则有两种选择:
然而,这只是编码标准的一小部分。它不包括多个返回语句、三元运算符的使用与否等。如果您可以确保团队中的每个人都“正确”地看到源代码,那么这可能不再重要了格式化,无论他们认为是什么。但是我没有看到一个可以做到这一点的系统——你可以做其中的一部分(比如,签入/签出之前和之后的重新格式化),但这些天你还必须考虑到Web版本到版本控制、与版本控制系统直接交互的外部代码审查系统等。 标准代码样式的主要用途是(IMHO)确保您可以轻松阅读其他团队成员的代码,而无需开始反向工程,因为所有代码都是使用相同的指导原则编写的。缩进和括号的位置似乎是这方面的主要障碍,但在我看来,它们只是一个很小的部分,有些夸张,也不是很重要的部分需要使代码一致
不幸的是,我不知道有任何工具可以自动将一致的编码原则应用于源代码…自动格式化实际上只能处理空白 它不会解决开发人员给变量起奇怪而荒谬的名字的问题。 它不会解决一些开发人员在抛出异常时函数返回null的问题
我相信其他人可以想出更多的例子。这就是我们在我的工作中所做的: 我们都使用Eclipse。我们没有使用Eclipse的政策,但不知何故,我们都不是IDEA/IntelliJ的人。我们还认为我们的代码应该在编写时考虑到遗留问题。这意味着我们的代码必须以某种方式可读,即使是几年后(#1),无论是谁编写的,也不管此人是否还在公司 Eclipse有两个方便的功能,一个是保存时自动格式化,另一个是特定的。从链接的屏幕截图中可以看到,它可以用XML进行配置。因此,我们公司的每个员工都可以使用一堆预制的XML:s,这样当新员工进来时,我们就可以引导他完成整个过程,并为他们配置Eclipse(是的,这样做有点不好)因此它实际上使用了我们提供的格式XML:s。我们不执行保存时的自动格式,我们不想完全侵入,我们只想将所有开发人员推向正确的方向。为了提高兼容性,我们主要使用中定义的规则 接下来是重要的部分,即实际构建。我们是那些接受自动构建的人,我们使用自动构建。除此之外,我们的配置中还有两个重要部分:
- 我们使用在提交某些内容时触发构建
- 我们利用了几个可用于哈德逊的插件,包括与最重要的插件结合使用的插件