刘静静 吕何新
1(上海大学计算机工程与科学学院 上海 200444) 2(浙江树人大学信息科技学院 浙江 杭州 310015)
随着互联网时代的发展,应用软件也百花齐放。消费者对计算机应用软件的要求也越来越高。一款应用从创新的想法到投入市场的时间及其后续对已有功能的改进和新功能开发的周期时间也越来越短,这样才能让科技公司抓住商机,不断满足消费者越来越高的需求。在这样的挑战下,计算机软件的可维护性就凸显出越来越重要的地位,因为只有可维护性好的应用才能对各类改变做出快速响应并尽快投入市场。对于软件的可维护性,有两个非常重要的方面:是否容易修改和是否容易测试。测试尤其体现在是否容易做单元测试。为了写出易维护的代码,计算机领域很多专家做了大量的研究和探索,并取得了非常多的成果。Erich等[1]提出了非常著名的设计模式的概念,该理念至今仍然没有过时,在现在的软件开发中仍然频繁地被使用。为了让现有的代码变得更容易维护和测试,Martin[2]提出了重构的概念,这是设计模式之后的又一里程碑。重构现在仍然是开发者们经常提及和使用的技术和方法,国内在重构[3-5]和解依赖领域对静态代码依赖分析也做了大量研究[6]。Michael[7]对于修改现有的代码给出了比重构更加细致的方法,提出了多种有效修改已有代码的技术和方法。Kent等[8]推出了成熟版的极限编程,在测试驱动、持续集成、自动化测试等多个方面给出了一整套用来开发易维护应用软件的框架。……