话题展开原因:
昨天,x老板说:xx,我看了你的博客,认为你的某某系统做得很好,你来我们公司能很好施展才能。
我:贵司,关于程序员的代码质量一般怎么管控呢?
x老板:一般由,技术负责人。大家在一起,不单单是为了打代码。更多的是,自己做出来的东西能得到社会的认可,我觉得这一点比较重要。
我:得到社会认可,需要好的产品,好的产品需要好的设计,好的设计需要好的代码支撑。
我:贵司,换人频繁吗?
x老板:今年不频繁,老员工都还在…今年的钱基本都是在换人,换人,换人中花了公司大部分钱。
我沉思了一会…
想到以下几个场景:
1.一位写代码的朋友说:好的代码队友能减少我的加班时间,不好的代码队友能让我有无穷无尽的加班时间。
2.一位项目经理在跟我吃饭中说道:有个一千万的系统堆了几十个人去做,结果一年后系统烂得还要后人补,一个系统不是堆人去做的,我听到推人去开发一个系统,就基本知道那个系统要黄了。
3.就我自己而言,今年做的一个java的xx系统,我是第n个接手的,经常加班重构代码,代码的质量低造成我加班多的原因之一,另外一个是由于系统的设计,程序设计的锅,下一篇讲;
xx系统前后换了好几个人,经理最后没办法,直接让我去做java系统;抛开设计不说,经理我讲的是:之前程序员写的代码质量没有评审,现在项目上线运行中,出现很多“未知错误”,数据校验也没做足,现在你接手,我放心一点,每次看你的代码,我都觉得很舒服。
论代码质量的重要性:
1.正确性,2.健壮性,3.可靠性,4.性能,5.安全性,6.易用性,7.可用性,8.互操作性,9.易理解性,10.可扩展性,11.可重用性,12.可测试性,13.可维护性,14.可移植性。
(在实际的生产中,我们对关注质量也是不现实,1.开发任务摆在那里,开发时间摆在那里,开发逻辑摆在那里…)
我是如何在重重压力下,仍然不断的提高代码质量的呢?
根据我的开发经验与从前辈身上学到的经验:
1.入参做校验:
2.对每次的逻辑操作结果作判断:
3.try{} catch{} + 良好的日志机制:
4.标准的注释
我认为我们在实际开发中,把上面四点做到位能够减少很多bug,对健壮性、对易理解性…有一定的帮助。
侧面来说:一分赏心入目的代码,说明程序要在写的时候,态度是很好的,bug自然也不会多,产品也不会差到哪里去,后续维护自然也不会太困难,或许公司换人了,下一位新人看到整齐的代码,能够从中学到东西,新人肯投入,也许对企业的用人成本会降低等等好处。
个人经验:无论我在开发是C#-web、C#-WPF、JAVA-SpringBoot等等,发现语言带来的影响不大。代码的质量有多高,取决于我们有多认真取写代码,取决于我们多自己的工作有多负责,取决于我们多代码有多热爱,取决我们的代码功底有多深厚…幸福来源于我们自己持续不断的艰苦奋斗,加油!
我的文化水平不高,以上是自己单纯的肺腑经验之谈,希望能带给读者一些帮助!