zoukankan      html  css  js  c++  java
  • 是否需要有代码规范?

         一位来自知乎的朋友这样说道:
         有一次我被临时借调到另外一个项目组,去帮忙赶一个需求。写代码的时候我犯了一个我职业生涯以来最蠢的错误,就是按自己的配置对代码做了格式化。
    全部写完并提交代码后的那天中午我去医院了。下午接了那个项目组组长一个电话,问我提交的代码做了哪些改动。我报了几个路径,并告诉了他我的修改标记。
    第二天到公司后,组长告诉我因为我的代码格式与组内规范不一样,导致合并测试版本的时候,几乎每行都有差异。版本管理员不得不一行一行对比、询问该使用哪个版本、然后再合并、提交测试。
         这次提交不到十个文件,目测实际改动的代码行数不超过100行,但是害的版本管理员从下午两点多一直干到六点多才合并完版本。这还是在我每一处修改都有修改标记的情况下花费的时间。顺带,这个“修改标记”也是我们的规范之一。
    我想这个例子能够说明不遵守规范的问题,和遵守规范的好处了吧。

    所以对我来说:
    1、这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
    也许规范对个人的开发效率会有负面影响。但是放到整个团队层面上,它恰恰是能够节约大家的编程时间的东西。那个版本管理员花费的三、四个小时,本来可以用来测试、用来修正bug,却因为我的代码不规范而被浪费掉了。

    2、我是个艺术家,手艺人,我有自己的规范和原则。
    一个人的那也叫规范?最多叫个人习惯。足球里有一句话,没有哪个球员比球队更重要。项目组也一样,没有哪个人的个人习惯大过团队规范。
    就我那个错误来说,我也有我的规范和原则。事实上,我犯错误的那次所使用的格式化规范,也是我原来所在 项目组的通用规范。但是,在新的项目组里,它变成了我的个人习惯,并且,我的个人习惯导致团队工作受到了严重的影响。如果你是那个新项目组的成员,你能忍我?

    3、规范不能强求一律,应该允许很多例外。
    规范应该尽量一致;即使有例外,也只能是少数情况,而不能是很多例外。
    说到这个例外,我想起另一个例子来。古人取“字”的时候,常常按兄弟次序取“伯仲叔季幼”,例如“季常”、“幼常”。但有一次有个哥们就问我:为什么这个哥哥字“叔x”,而弟弟字“伯y”?是不是史书写错了?
    这就是规范中“例外”情况导致的混淆甚至是混乱。

    4、我擅长制定编码规范,你们听我的就好了。
    我原项目组使用的规范就是我编订的。到新项目组里,它就捅了篓子。
    如果对规范有意见,可以通过一定方法修订并发布新的规范。但是在新的规范发布之前,请遵守旧的规范。



    感谢:知乎网友
  • 相关阅读:
    服务器搭建Git
    BGP协议详解
    以太坊
    燃 * & *
    UML类图解析
    day8.文件操作
    python面试题汇总
    day5.字典
    day5.类型汇总
    day3,4总结程序
  • 原文地址:https://www.cnblogs.com/HAOZHE/p/5308313.html
Copyright © 2011-2022 走看看