MyException - 我的异常网
当前位置:我的异常网» 研发管理 » 拔高团队代码质量

拔高团队代码质量

www.MyException.Cn  网友分享于:2014-08-07  浏览:0次
提高团队代码质量

最近看到一篇博客,大致的意思就是网管将原本混乱不堪的交换机整理整齐了,起初交换机是图2那样的,由于越来用的人越多,操作的人越来越多,最终成为了图1那个样子。这不禁让我想到了项目中的代码,原先在刚上线的时候谈不上是完美的,但它总归是整齐的,但是由于中间人员流动,bug修改等等原因吧,最终的结果就是代码一团糟。为什么会出现这样的情况呢?

          

图1                                            图2

权限(权利)

拿交换机来说,当自己的网络不通畅的时候自己可以随便进出机房对交换机进行操作,插拔自己的网线的时候只要能让自己的网络通常,那么网线乱一些那又有什么关系呢?第一个人是这样想的同时也是这样做的,紧接着第二个、第三个……久而久之就成了图1的样子,混乱不堪。

同理代码也是一个道理,自己需要实现一个功能,在原来代码的基础上进行修改,只要自己的功能好使代码之间的耦合大一些又有什么关系呢?刚入职的第一个新人是这么想的也是这么做的紧接着第二个、第三个……久而久之仓库中的代码就变成了现在的这个样子,惨不忍睹。

没有权限的人可以操作本不该操作的东西,最终一定会一团糟。因为的人们在自己焦头烂额的时候才顾不上会不会影响他人,尽快将自己手头的棘手的问题解决掉才是重中之重。对于权限管理最经典的一句话就是:权限越低犯错的机会就越少。所以新人直接提交代码到代码库是欠妥的。

责任

出现这样的情况是因为大家只关心自己的一亩三分地,“各扫自家门前雪,休管他人瓦上霜”是每个人的不变信念,问题是“他人”并不是别人,是自己人,他人“瓦上霜”其实就是以后自己的“门前雪”。其实责任这个词就是自私的放大版,胸怀有多宽广责任就有多重大。

记得读过一篇关于代码质量的文章,其中说到一个理论叫破窗理论:一个房子如果窗户破了,没有人去修补,隔不久,其它的窗户也会莫名其妙地被人打破;一面墙,如果出现一些涂鸦没有被清洗掉,很快的,墙上就布满了乱七八糟、不堪入目的东西;一个很干净的地方,人们不好意思丢垃圾,但是一旦地上有垃圾出现之后,人就会毫不犹豫地抛,丝毫不觉羞愧。

很多情况下代码晦涩难懂并不是一下子就变成这个样子的,冰冻三尺非一日之寒。从第一个不负责任的人开始代码变得越来越难以维护。如果在提交代码之前有人(几个人)去review要提交的代码,相信出现问题的可能性就大大减小。试想自己的代码是要被全世界程序员读的,相信你会提高自己的代码质量。

行动

发生了这样的事情,最终是要解决的,如果希望永远不发生这样的事情,这是一种理想状态,只有说前面的工作我们尽可能的做好来降低这种事情出现的概率。但是,一旦发现了问题还是需要解决的。而且是立刻解决,否则错误会随着时间的推移解决成本也就越来越大。不要借口说现在没时间,等有时间了如何如何吧。现在没时间以后更没时间,因为以后只会比现在更忙。(什么?项目紧没时间,那么请跳槽,对于一个没有规划急功近利的公司是需要被社会淘汰的,所以你的不离职就是在姑息整个软件行业的不良风气)

Review初期是可以避免很多低级错误的,但是到了后期就流于形式了,因为一直负责review的负责人已经疲惫了。况且很多严重的bug并不是review就能发现的,Review只能找出显而易见的错误。所以,

第一、负责review代码的人决不能固定,而且一份代码可以多人review

第二、不放过任何一个Bug,尤其是因为修改或者新用例带来的bug,这些bug后面就藏着不整洁的代码,需要整个团队耐心的将其挖掘出来解决掉。

文章评论

Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
 程序员的样子
程序员的样子
中美印日四国程序员比较
中美印日四国程序员比较
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
程序员的鄙视链
程序员的鄙视链
Java程序员必看电影
Java程序员必看电影
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员和编码员之间的区别
程序员和编码员之间的区别
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
每天工作4小时的程序员
每天工作4小时的程序员
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
总结2014中国互联网十大段子
总结2014中国互联网十大段子
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
程序员必看的十大电影
程序员必看的十大电影
鲜为人知的编程真相
鲜为人知的编程真相
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
我的丈夫是个程序员
我的丈夫是个程序员
那些争议最大的编程观点
那些争议最大的编程观点
10个调试和排错的小建议
10个调试和排错的小建议
我是如何打败拖延症的
我是如何打败拖延症的
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
漫画:程序员的工作
漫画:程序员的工作
老程序员的下场
老程序员的下场
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
一个程序员的时间管理
一个程序员的时间管理
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
程序员都该阅读的书
程序员都该阅读的书
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有