从代码抽查到大型软件的可维护性

 
从代码抽查到大型软件的可维护性
        有人跟我说,既然有测试部门进行软件质量测试,有性能保证团队负责产品性能的测试和改进,那么我们的代码抽查还有什么意义呢?我告诉他:代码抽查的意义并不在让你帮助去找bug,而是从一个 公正的立场,以一个 抽样的观念,来 评价目前实际产品的 代码质量,从而给管理层提供决策建议,以防微杜渐,保持产品的持续可维护性。
        软件存在一个 生命周期维护的问题,越是大型的产品,越要加强产品开发过程中的质量控制意识。应该清楚看到,软件测试只是从外在发现功能性的问题或者用户体验方面的问题。软件的内部质量,还需要从每个开发人员内在的素质提高做起。
        我的经验,对 一个千万行以上 代码软件,如果在这个产品的开发过程中 没有很好的一套 机制保证没有很好的贯彻内部 质量控制,这样的规模的软件 其维护是灾难性的。原因很简单,代码经过多人易手,又没有按照规范处理,其面貌就全非了。这样的软件,其维护的代价就会随着规模的扩大节节攀升,直道无法忍受,便需要结束它的生命周期了。
        有 什么机制可以 保证软件的内部 质量呢?我想我们需要从三个方面来考虑。
        第一个方面是要努力提高开发人员的素质。尽管目前的集成开发环境已经越来越强大,能够很好改善代码的规范性。但是,应该看到,代码的最终可维护性还是需要人工来保证。代码的结构和美学意义上的优雅还需要经验。如何提高开发人员的能力和增进他们的经验呢?这方面其实有很多可以做的,我想一个规范程度高、培训和学习机制健全,以及知识积累丰富的企业无疑会培养更多能写出“优雅代码”的coder.
        第二个方面是要具备 机制来持续 审核软件的内部质量。像现在逐渐被推崇的“代码审计”就是一个很好的技术。为什么一定强调持续呢?因为软件的内部质量控制本身就是一个伴随软件生命周期的事情。所以,越早建立好这种机制,并逐步完善它,效果就越好。我一般建议在日构建中建立这种 审计机制。这样的好处很明显, 持续公正公开,只要管理层重视,整个代码的内部质量一目了然,很容易产生实际的执行力。另外,建立好同行评审和代码抽查制度也很重要,有些问题可能自动化的审计无力完成,这就需要人的“火眼金睛”来帮助了。
        第三个方面是从体系架构设计出发, 采用自己的框架,尽量 减少需要 人工编写代码,努力 开发工具的抽象层次。比如现在的MDA技术就是很好的发展方向。对于一个软件企业来讲,我的经验会认为:努力把 最核心的代码最核心的人来维护,这样才是长期维持软件“优雅”的根本。而如何让最核心的代码让最核心的人来维护呢?一方面是要注意资源的分配;另一方面是让 核心代码尽量 固化工具或者框架中, 通过工具发布代码就可以 复用那些经过检验的、高质量的 代码
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值