上海市总工会嘉奖,就代码审查还能获奖? 是的,你没听错

烫手山芋

 

大约在2009年年底,我已经意识到了代码审查的作用。

 

当时遇到一个问题,正在运行的核心系统运行效率很低,但这个系统非常重要,每天承担5亿元交易的信息处理工作。

 

来自业务部门和领导层的压力巨大,问题必须马上解决,并且要彻底解决。

 

专题工作组很快成立了,问题也很快得到了定位,彻查的结论是存在大数据表交叉查询,由于数据量较大,导致拖慢了整个系统。

 

怎么办?

 

大家都没有特别多的经验,拍脑袋定出一个决定,该核心系统马上整改,从此时此刻开始,不允许使用大表关联查询。

 

这个系统已经在公司运行了近10年,代码行量在2000万,排查整改工作巨大,其中最为关键工作是找到存在大表关联查询的代码段。

 

作为质量管控人员,我硬着头皮,也是初生牛犊不怕虎,承担起了这份时间紧、任务重、无从下手的工作,烫手山芋……

 

 

绝处逢生、柳暗花明

 

这就是一个工程浩大的code review,传统人工方式肯定不能规定时间内完成,必须突破现有工作方式和思路的限制。

 

代码扫描平台XCAT应运而生,经过两周所有的开发,XCAT可以运行了,只有个多线程的后台服务,没有界面。但功能强大,几分钟完成了2000万行代码的扫描,发现了3000多处大表关联代码。

 

原理很简单,大数据表是有清单的,再扫描代码,找出关联表代码,两相比对,就找出了问题点。

 

这个问题处理的关键点,就是关联表查询的代码特征的提取。这也是所有现行代码扫描平台的通用做法。

 

8年积累,厚积薄发

 

有了XCAT支撑,多少年就挂在嘴边的代码审查工作,终于在此刻得以实施,XCAT应用范围迅速扩大。

 

特别是最近两年,公司越来越重视代码质量,XCAT已经积累了600多条开发规范规则,终于把开发工作圈在了笼子里。

 

好的程序员对质量代码充满热情,但大多数程序员,还是需要有根鞭子。

 

过去,我们没有这根鞭子,或是由于我们怕给自己找麻烦,不去做代码质量的提升,但代价是沉重的。

 

截止目前,XCAT扫描代码行量已经超过24亿行,发现问题超过20万个。

 

由于该项目的成功运作,2016年底,获得了上海市总工会的嘉奖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值