就像没有人愿意吃烂苹果一样,不会有人喜欢写烂代码。
开发人员都希望自己写出的代码又高效又高质,实现所有需求和设计的目标,永远没有生产问题。幸运的开发人员能遇到新的项目从零开始写代码,大部分项目还是在以前的代码基础上进行功能迭代。前期代码已经写成了,让后来的开发者如何接盘?开发人员素质参差不齐,需求旺盛的情况下,产品不可避免的写入了很多为了满足需求的低效低质代码。这些低质代码又变成了后来者的独木桥,周而复始地恶性循环下去。即便是全新的项目,中间一两个版本没控制好代码质量,又会留下一堆烂代码。那些开发质量控制不好的软件寿命都不长,因为随着时间的推移,支撑不了业务发展就只能得了个推翻重做的下场。
代码质量和项目计划是一对冤家,总难和谐。如何在进度紧张,人力资源有限的情况下保证代码质量?
经过这些年的不断努力和探索,我们已经实现了基于持续集成技术的自动化代码质量监测工具链和报告管理体系。这个体系管控的范围可大可小,小可以小到某一个产品的安全扫描和单元测试,大可以大到几个工程的全面管控。自动化代码质量管理,核心在于减少人员投入和重复的自动验证,用工具为开发人员服务。主要目标是让数据报告指引工作方向,培养开发人员自我规范意识,从而提升软件产品质量,降低缺陷修复成本。在技术人员眼里它是一套自动化的质量工具箱,在项目管理人员眼里它是一种代码质量管理的实践方法。
本文中阐述的所有项目都以 Java 代码为基础,其他语言的情况也是大同小异,这里不做赘述。我们仅仅把眼光放在代码开发阶段的管理问题进行剖析,暂不去关心其他阶段的问题,着重在管理理念和技术落地方法两个方面展开探讨。
什么是软件质量?
软件质量 (softwarequality)是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和。高质量的软件通常具备了这样一些特性:
Comments