博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
质量糟糕的代码会在项目中像病毒一样传播,尽量在源头控制好代码质量、强调范例的重要性...
阅读量:6330 次
发布时间:2019-06-22

本文共 1717 字,大约阅读时间需要 5 分钟。

  hot3.png

   折腾管理类软件项目,有些人折腾来折腾去,最后折腾的要死,最后没兴趣了转行了,有些人折腾来折腾去,正在走向越搞越乱的局面最后很可能也走向做不下去的道路,还有一些人一直坚持到最后,这期间大部分都有很多宝贵的心得体会,只是由于没空或没共享分享的想法,或表达能力不强没有写出宝贵的经验而已,大家多多少少都会有很多想说的是是非非。

   中午趁着休息时间,想写一篇,有关代码规范、范例的重要性文章,这些年有一个体会,好的思想、好的代码传播起来感觉比较困难,垃圾代码、错误的做法很容易蔓延到整个项目,就算是个人做项目也容易蔓延,解决这些问题需要付出很大的代价去修正,团队的项目那就更容易付出惨痛的代价了。

 

   在一个项目团队里,恶劣的代码的更容易传播,而且修正这些代码,付出的代价,往往比个人行为付出的代价更高,我打个如下比方:

   1. 写了一个功能页面,里面有10个功能点但是2个功能没做好,有点儿所谓的小Bug,但是整体上还可以,这是一个模块里,出了2个不足或是2个Bug

   2. 个人开发的系统里有20个功能页面,至少10个功能页面是类似,都是可以通过复制粘贴完成工作,就会导致出现 2Bug×10页面 = 20 个Bug。

   3. 若一个项目组有10个组成,每个人负责20个功能页面,其中10个都是类似的功能,就有可能会导致出现 2Bug×10页面×10人 = 200 个Bug

   由于前期只是2Bug, 后期会衍生出 20Bug、200Bug,所以我们不能忽略那么一个小小Bug无所谓的心态,它就像毒瘤一样很快就会蔓延到整个项目里,若大家的代码风格都是一致的,复制粘贴的水平也比较高,后期统一修正还相对容易一些,若各路神仙都用了个性化的复制粘贴,那修改这些错误,耗费的代价是可想而知的,会有多么惨痛。

 

   做软件就像做商品,我们只要有能力做出一个精品军刀的水平,就有可能复制出100万个精品军刀的可能性,若我们连一个精品瑞士军刀都做不出来,做出100万个复制品绝对是一大堆大垃圾。我也非常喜欢德国双人牌菜刀,在超市里一把就卖好几百元,甚至是上千元,唉,的确人家造的得精美,太棒了,我每次看了都有购买的欲望产生,我要是哪一天不小心发财了,绝对买上几把回家玩玩,虽然我很少去厨房也从不做饭,但是非常想那个买菜刀啊,放在家里欣赏也开心,估计用这个菜刀也会很爽啊。

   虽然做出精品,接下来的运营、营销也关键,但是我们要有追求高品质精品的意识,给别人一个享受的,就算他买了不用,放在家里心理也爽。

 

   由于经历了很多惨痛的事件,甚至是赔钱伤身,所以现在做项目一般也不急于写太多功能,就把最重要的、最关键的例子程序,仔细做好,代码的质量、规范、性能、功能、可阅读性都仔细检查好,精挑细磨,反复修正,追求完美,然后定型了,就给部门里的同事上上培训,讲解,关键点,注意事项,都讲解好了,就要求大家严格复制粘贴,这样大家的工作效率也提高了,我自己的价值也体现出来了,我也不用去写过多的代码,负责精品样例程序就可以了。

   我比较反感“手下”这个词汇,谁都不是我手下,我也不是别人手下,大家都是同事,也不希望别人叫我“手下”,甚至我的主管,我的老板,他若在别人面前叫我“手下”,我第二天就会考虑跟他说:“ByeBye”。 总感觉“下”这个字,包含“下等”的含义的感觉。若是叫我“手上”,我可能听起来不反感。

 

   跟别人比拼产量是不行了,拼身体,拼干劲也干不过了,那就拼经验、拼质量、拼品质总可以的。有的项目为什么会越做越烂,是因为源头没有抓好,病毒泛滥也有关系的。

   我核心想表达的并不是说我做得有多么好,只是想阐述若没这么做,可能我早就完蛋了,至少陷入项目的泥潭了,若有哪位读者还没意识到范例的重要性,那就需要重视一下了。 2个Bug 衍生出  20 个Bug,又导致产生了最后的 200 个Bug

 

   大哥,求你了,别叫我“手下”,叫我同事好吗? 或者叫我“手上”也可以。今天虽然你是我的“手上”,说不定明天你就是我的“手下”,请你尊重我,我只是个跟班的小弟而已,不是“手下”。

 

 

 

导读:

 

 

淘宝店地址:

 

 

转载于:https://my.oschina.net/iwenr/blog/227637

你可能感兴趣的文章
高能天气——团队Scrum冲刺阶段-Day 1-领航
查看>>
ISI CVPR journal ranking
查看>>
free movie
查看>>
列表组
查看>>
CF 988E Divisibility by 25 思维 第十二
查看>>
Linux Shell多命令执行
查看>>
Java中的异常处理:何时抛出异常,何时捕获异常,何时处理异常?
查看>>
css3中的变形(transform)、过渡(transtion)、动画(animation)
查看>>
tomcat生产环境JDK部署及虚拟主机等常用配置详解
查看>>
web服务器tomcat入门实战
查看>>
AVEVA CSG 几何图形输出接口
查看>>
POJ 2653 Pick-up sticks(几何)
查看>>
【阶段试题分析】阶段一试题总结
查看>>
Python 模块调用
查看>>
HBase篇--HBase常用优化
查看>>
CMarkUp介绍
查看>>
Java基本语法-----java流程控制语句
查看>>
【面试 网络协议】【第十四篇】网络协议篇
查看>>
指令汇B新闻客户端开发(二) 主页面布局
查看>>
获取文本区域(textarea)行数【换行获取输入用户名个数】
查看>>