如何让开发人员遵循编码标准?

Jos*_*osh 21 language-agnostic coding-style

如何让开发人员遵循编码标准?

在我们公司:

  1. 我已经提供了文件,他们没有耐心阅读并遵循它.
  2. 我曾经一次又一次地告诉他们"请这样做",他们点头表示,但仍然做错了
  3. 我们第三次做了一个项目,但他们似乎还没有正确地遵循它.

我现在已经厌倦了这个.设置编码标准并确保遵循它们的最佳方法是什么?

编辑:

我的团队中只有大约10名开发人员.由于从我们的管理层完成产品​​的压力越来越大,他们的压力越来越大,不会花时间发表评论并整理好代码.这会是什么解决方案?

Win*_*ith 34

自动化.

您可以将StyleCopFxCop(VS2008中的代码分析)集成到构建过程中.

因此,当某人检查违反规则的内容时,构建将会中断并且他们必须修复它.如果您没有支持此功能的自动构建过程,则可以在代码审查之前手动运行这些工具.

您可能找不到与您的编码标准完美匹配,但您应该能够获得非常接近的东西.

了StyleCop

http://code.msdn.microsoft.com/sourceanalysis

FxCop的:

http://blogs.msdn.com/fxcop/

  • -1这是错误的建议.首先要确保编码标准有意义并被接受,然后才能自动化.您会惊讶于通过这些工具可以获得的代码 (11认同)
  • 当达成协议时,自动化是好的.没有工具可以解决人为问题. (2认同)

Ton*_*ony 26

开发人员在编写标准时是否咨询过?我讨厌必须遵循有人提出的指导方针,并没有咨询一些开发人员.它一直在发生.

另一件让我感到困惑的事情就是有人给我指导线,而这些线路实际上并不适用于生产代码.理论上正确的做事方式和做事的正确方法有很大的不同.

  • 你是对的,*piratical*正确的方式确实与理论正确的方式不同.:-P (7认同)

Ant*_*lev 15

去得到更多听话的开发者.

严肃地说:我可以为自己说,我倾向于忽视(或不愿意遵循)我认为完全不合理,过于专制或愚蠢的做法.试着和你的家伙说话,问问他们对医生不喜欢什么.


Mar*_*tta 10

你有标准.你有一个流程供他们遵循.如果他们不遵守,请终止他们并找到符合标准的合格人员.

进一步来说,

  1. 在项目开始时,与团队一起审查标准.沟通他们必须遵守.
  2. 在项目结束时,进行审查以确保遵循这些规则.如果不是,请与负责不跟踪的人员合作.询问有关原因等的问题
  3. 给他/她第二次机会.
  4. 如果重复,请终止个人.

  • 问他们为什么他们不遵守标准.如果他们反对他们,他们可能不同意他们.如果需要,修改它们.当然,当所有其他方法都失败时终止它们,但请确保您先了解为什么.过于权威无济于事! (8认同)
  • 解雇所有开发人员可能不是可行的方法.也许解雇最坏的罪犯并为他做一个例子,但教育是解决这个问题的更好方法. (4认同)
  • "解雇你所有的开发者可能不是可行的方法.也许可以解雇最糟糕的罪犯......"或者自己解雇,因为你无法管理他们:) (2认同)

The*_*edi 8

听起来你不够尊重.

进行代码审查,并与团队讨论编码标准.也许他们不坚持,因为他们不同意.变通.

也许如果你第三次做一个项目,那就是你做错了.


Pet*_* H. 8

他们不称职,懒惰还是无知?

我对这种事情的体验是,它始于领导力和优先权.优先级,意味着人们弄清楚线条的绘制位置,并且它们就在那里.我能想到的一个例子是一位新的程序员正在接受一份由同一个人填补了12年的工作.他必须维护的代码是一个草率的混乱.所以他知道他可以逃脱谋杀......因为最后一个人自己离开了,在经历了12年的无能为力之后再也没有被解雇.

如果你已经把这条线拉得太远了,那么就把它控制好.明确地将其中一条发射掉,不遵守标准.

听起来你已经试图治愈无知者,只留下懒惰和无能......这两者都不值得治愈.如果我是你,我会宰杀牛群.如果这不起作用,请寻找管理层之外的工作.

编辑:为了响应您的"加压"添加,项目经理应尽力吸收尽可能多的压力.最好的经理知道他们团队的能力,并知道如何告诉管理层.你需要成为团队和管理层之间的联络人,如果管理层正在匆匆忙忙,你应该向他们表明质量会受到影响.如果有钱的人不像他们那样关心质量那么多......好吧,你不能对标准挑剔.如果他们想要质量,他们会倾听一位自信的经理,他告诉他们他的程序员无法在没有标准执行的情况下创建高质量,可维护的应用程序.

如果他们感到压力就是这样做的话,那么你需要努力吸收更多的压力,而不是让它变成你的团队.这是项目经理的重要组成部分.


Jee*_*Bee 6

如果您对它们有资历,那么请进行代码审查,并因未遵守编码标准而使其失败.如果它继续,你可以给他们一个正式的警告.如果它继续,你就可以解雇它们并让人们在他们的生活中花费20分钟阅读编码标准文件.

我不知道您使用的是什么IDE,但是Eclipse允许您设置可以在开发人员周围分发的代码格式化程序,因此这也可能是一个想法.

然而,可能存在潜在的问题 - 其他开发人员不喜欢您的编码标准.最好先找出是否属于这种情况.如果您的编码标准实际上不是您所用语言的通用标准,那么只要他们可以侥幸逃脱,他们就可能只是被动攻击.也许你应该让他们参与制定他们都满意的编码标准,主要是.


Pat*_*her 6

你需要学习宁静!这是一种常见的情况.即使你变得更高级并且更能影响事物,你也无法做出完美的编码情况.尽量做到最好,尽可能做个好榜样.

知道所有超级巨星的同事也是永远不会消失的东西. 但是你可以做一些事情.

  • 如果你想学习耐心怎么办,但你现在想学习它*?:) (4认同)