写点什么

开发质量提升系列:表字段名称引发的血案

用户头像
罗小龙
关注
发布于: 2021 年 01 月 30 日
开发质量提升系列:表字段名称引发的血案

代码界最遥远的距离,并不是你用 java 我用 c,也不是你用 linux 我用 dos,而是看着成千上万行的代码,却连个标点符号都看不懂。曾几何时,我曾经接手过别人的几张报表,代码逻辑不复杂,却是我接得最吐血的代码。

背景是这样的,跟我同样负责报表开发的小伙伴要走了,领导安排他手上的一部分报表的运维工作交接给我。不过当时我手上的工作很多,又没有认真对待,所以就把交接工作给耽误了。结果最后他要走了,我也没看过几眼代码,就跟领导说交接完成了。(其实这是很不负责任的行为,无论是怎样的工作交接,都要怀着敬畏之心来对待,不然肯定会给自己挖坑的,而且不出意外还是大坑)刚好那段时间那些报表都运行良好,所以没有放在心上,直到被业务反馈有问题的那一天。。。

那一天,我才开始真真正正地去看代码,结果看着看着我就懵住了。报表里面所用到的字段名称,都是由一堆意义不明的英文字母拼接而成的,比如 jkrzjdm(借款人证件代码)、jkrzjlx(借款人证件类型)、dkjjbh(贷款借据编号)。这些名称一看就不像是由标准词汇构成的,更像是由相应的中文首字母拼接而成的。由于代码内没有注释,所以就去查看相应的技术文档,结果发现连文档没有,我真的无语了。这时候好后悔当时没有好好做好交接,给自己挖了一个大坑去跳。当然,生产问题还是得解决的,面对着业务人员的不断催促,我也只好硬着头皮上,对着有限的文档,比如源系统的数据字典,报表的需求文档去盲猜字段含义,实在猜不到的就联系那个人问清楚。    

到最后花了两天时间终于把报表给搞好了,但是因为给业务人员耽误了太多的时间,所以还是遭到领导一顿骂,而我也因为搞这事而搞得身心都十分疲累。为了避免悲剧再次发生,我尽快把所有代码都查看了一遍,把该注释的地方都注释清楚,特别是字段名称,这样才把事情给了结了。

 

总结

  • 代码里所使用的对象命名,尽量遵从开发规范的标准词汇,比如 ID_CODE 代表证件代码,LOAN_CODE 代表贷款借据编号,这样哪怕无注释也起码容易猜出其字段含义;

  • 无论使用哪种命名方式,哪怕是使用标准词汇,都必须加上中文注释,方便自己或者未来维护的人读懂代码;

  • 无论是怎样的工作交接,都要怀着敬畏之心,认认真真地对待,不然就是自己给自己挖坑


发布于: 2021 年 01 月 30 日阅读数: 11
用户头像

罗小龙

关注

镜花水月 2020.08.18 加入

数据工作者,目前就职于商业银行数据部门,擅长数据架构、数据建模、数据开发及数据分析

评论

发布
暂无评论
开发质量提升系列:表字段名称引发的血案