Php 我是否应该期望编程团队遵循严格的编码标准?

Php 我是否应该期望编程团队遵循严格的编码标准?,php,coding-style,agile,Php,Coding Style,Agile,我个人非常喜欢在与一群开发人员合作时遵循内部编码标准。我觉得它带来了代码的连续性,并允许人们更容易地扩展代码库,关闭工作,并在困难的任务中互相帮助。 另一方面,我知道很多人都相信,只要编码按时完成并且有效,我们就应该接受各个编码者风格的差异 从这两个方面来看,我发现很难决定某种程度上令人窒息的程序员风格是否值得拥有一个相当符合标准的代码库所带来的好处(有时是微不足道的,有时是巨大的)。特别是在敏捷开发框架中工作时,速度非常重要,我认为这是一个更重要的问题 更糟糕的是,我是一名PHP程序员,所以你

我个人非常喜欢在与一群开发人员合作时遵循内部编码标准。我觉得它带来了代码的连续性,并允许人们更容易地扩展代码库,关闭工作,并在困难的任务中互相帮助。 另一方面,我知道很多人都相信,只要编码按时完成并且有效,我们就应该接受各个编码者风格的差异

从这两个方面来看,我发现很难决定某种程度上令人窒息的程序员风格是否值得拥有一个相当符合标准的代码库所带来的好处(有时是微不足道的,有时是巨大的)。特别是在敏捷开发框架中工作时,速度非常重要,我认为这是一个更重要的问题

更糟糕的是,我是一名PHP程序员,所以你很少会遇到两个风格相同的程序员,因为这基本上是一门自学成才的学科

最好是有一套宽松的标准作为建议,只强制执行非常重要的项目(比如限制变量名中的匈牙利符号),还是最好是铁腕,要求缩进是制表符而不是空格,括号总是在自己的一行上

编辑:


我应该看到我在这个问题上的错误——我想我对标准应该有多严格感兴趣——他们应该有很大的自由度,还是我应该严格限制?

是的,他们应该遵守标准。否则就会一团糟

如果您正在组建一个团队,您可以根据自己的编码风格创建文档。
如果是现有的团队,那么你最好先讨论一下大家都同意的标准。

是的,一个团队(让它成为一个专业的、开源的团队、业余爱好小组或其他团队)应该有自己的编码规则,每个成员都要遵守,否则就会一团糟;如果您不使用源代码管理系统(即使是作为一个开发人员,这也是很有帮助的),则情况会更糟

编辑以反映OPs编辑

有些方面你不必那么严格(例如,格式、空格,你可以通过源代码管理提交中的一个软件“强制”使用它们,因此当它们编码时,它们可以随心所欲,但一旦它达到源代码管理,它就会标准化),但其他方面,尤其是命名约定需要非常严格,因为这是一个程序无法轻易改变的。例如,使用描述性名称而不是单个字母


for(inti=0;i在实践中,我发现严格命名比严格格式化更重要

幸运的是,建立一套命名标准要容易得多


只要某人的代码在可读性方面没有偏离常规,我不明白为什么有必要限制他们自己的个人风格。

我同意应该有标准。我在Visual Studio 2008中选择了一组特定的自动格式化选项,并让所有其他开发人员导入这些设置

使用不同的样式很容易遇到的问题是臭名昭著的空格与制表符。在vs 2008中,有时会出现混合缩进样式的情况,点击
Ctrl-E,D
格式化整个文档可能会导致vs崩溃

具有强制的样式相似性还可以使您最喜欢的源代码管理器中的提交更干净,因为您不会让开发人员不断地来回更改彼此的格式

编辑:关于纬度,我为我的开发人员提供了一些关于命名约定和可读性的指导,但除了格式(大括号上的哪一行等等)外,没有严格的规则。我不介意其中一个字段是在底部还是顶部放置私有字段。如果我添加了新字段,我会模仿


你的问题很模糊,很笼统,所以你会得到一般性的答案。我说,分别判断个人风格的各个方面,以及它的后果。

编码标准或任何其他类型的流程都不能替代技能。如果你的团队很熟练,并且正在完成工作(我所说的“完成”还意味着它们所产生的东西是可维护的),那么编码标准就不会真正让你有任何进展。

无论你说你的标准是什么,你的实际标准就是你所执行的标准

关于空格的数量和大括号的位置的规则不会损害任何人的创造力。另一方面,可能值得一个编辑器用空格替换制表符(反之亦然)

允许所有开发人员通过格式化来表达他们的创造力的一个问题是,他们要做的就是:花时间重新格式化内容以符合他们的想法,而不是重构

你不会想要的


确保对代码进行了审查,审查的部分是格式。如果您的开发人员对此感到不适,他们可能不会像他们自己认为的那样引人注目。

根据您所使用的语言,您可以购买现成的智能重新格式,它将接收源代码并对其进行处理,而无需使用将实际含义(DUH!)更改为您想要的任何“编码标准”(阅读:关于缩进、大括号样式等的任意规则)

前几天我看了一个网站,网站许可证的价格约为35美元,1000美元。这是鸡食。你可能在卫生纸上花的钱不止这些


将运行重新格式化作为源代码检查过程的一部分,不要担心它。

首先,因为您提出了匈牙利符号,这里是文章的强制性链接。:-)它讨论了如何使用匈牙利语,Joel认为是好的还是坏的

原则上,