开发质量提升系列:表字段名称引发的血案
代码界最遥远的距离,并不是你用 java 我用 c,也不是你用 linux 我用 dos,而是看着成千上万行的代码,却连个标点符号都看不懂。曾几何时,我曾经接手过别人的几张报表,代码逻辑不复杂,却是我接得最吐血的代码。
背景是这样的,跟我同样负责报表开发的小伙伴要走了,领导安排他手上的一部分报表的运维工作交接给我。不过当时我手上的工作很多,又没有认真对待,所以就把交接工作给耽误了。结果最后他要走了,我也没看过几眼代码,就跟领导说交接完成了。(其实这是很不负责任的行为,无论是怎样的工作交接,都要怀着敬畏之心来对待,不然肯定会给自己挖坑的,而且不出意外还是大坑)刚好那段时间那些报表都运行良好,所以没有放在心上,直到被业务反馈有问题的那一天。。。
那一天,我才开始真真正正地去看代码,结果看着看着我就懵住了。报表里面所用到的字段名称,都是由一堆意义不明的英文字母拼接而成的,比如 jkrzjdm(借款人证件代码)、jkrzjlx(借款人证件类型)、dkjjbh(贷款借据编号)。这些名称一看就不像是由标准词汇构成的,更像是由相应的中文首字母拼接而成的。由于代码内没有注释,所以就去查看相应的技术文档,结果发现连文档没有,我真的无语了。这时候好后悔当时没有好好做好交接,给自己挖了一个大坑去跳。当然,生产问题还是得解决的,面对着业务人员的不断催促,我也只好硬着头皮上,对着有限的文档,比如源系统的数据字典,报表的需求文档去盲猜字段含义,实在猜不到的就联系那个人问清楚。
到最后花了两天时间终于把报表给搞好了,但是因为给业务人员耽误了太多的时间,所以还是遭到领导一顿骂,而我也因为搞这事而搞得身心都十分疲累。为了避免悲剧再次发生,我尽快把所有代码都查看了一遍,把该注释的地方都注释清楚,特别是字段名称,这样才把事情给了结了。
总结
代码里所使用的对象命名,尽量遵从开发规范的标准词汇,比如 ID_CODE 代表证件代码,LOAN_CODE 代表贷款借据编号,这样哪怕无注释也起码容易猜出其字段含义;
无论使用哪种命名方式,哪怕是使用标准词汇,都必须加上中文注释,方便自己或者未来维护的人读懂代码;
无论是怎样的工作交接,都要怀着敬畏之心,认认真真地对待,不然就是自己给自己挖坑。
版权声明: 本文为 InfoQ 作者【罗小龙】的原创文章。
原文链接:【http://xie.infoq.cn/article/bf1333d610da8e973f07af209】。文章转载请联系作者。
评论