软件重构研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件重构研究

软件重构研究   摘要:软件重构对软件项目开发来说已经变得越来越重要,也是目前软件工程领域研究的热点问题。重构是在不改变行为的条件下对软件的内部结构所做的一种改变,从而使软件更容易理解,便于修改。主要讲述重构技术的基本概念,论述架构重构的问题、难点和发展趋势。   关键词:软件重构重构价值重构能力   中图分类号:TP311文献标识码:A文章编号:1007-3973(2012)004-080-02   1引言   随着计算机硬件和网络技术的不断发展,软件的功能越来越多,几乎涉及到各行各业,软件的复杂度也在不断上升,尤其是一些比较复杂的业务处理,往往需要非常缜密的逻辑处理来满足业务需要。而且在研发和维护过程中,往往需要对软件进行不断的修改和完善,导致代码越来越难以维护,甚至到无法修改的程度。软件开发首先已经根据当时的需求做了系统设计和架构设计,但是开发过程中代码没有明确的注释和说明,或者注释比较陈旧,导致在维护过程中给修改工作带来极大的不便。很多人认为,原来的系统既然不能重新开发,而且已经在运行,就让它去吧。于是,程序员怀着消极的心态增加的代码变成下一个程序员咒骂的对象。依次下去,后面的程序员更会加剧这种心态,而且为了快速修改,往往不加思索的从类似的功能中粘贴相关代码,应付了事。最后软件的代码与最初的设计以及完全脱离开了,所谓的设计以及看不到了。最后,事情发展到我们意料之内而且又无可奈何的地步,代码无法理解,修改难度很大,成本非常高。   这是在软件开发领域内程序开发人员一直想解决的问题。软件重构技术的研究正是因为以上出现的普遍现象而被人们关注。   2软件重构定义   软件重构是指在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造。简而言之,重构就是改进已经写好的软件的设计。   重构是代码维护中的一部分,既不修正错误,又不增加新的功能性。而是用于提高代码的可读性或者改变代码的结构和设计,使其在将来更容易被维护。特别是,在现有的程序的结构下,给一个程序增加一个新的行为会非常困难,因此开发人员可能先重构这部分代码,使加入新的行为变得容易。   3难点、痛点和未来热点   架构师不能说就是是设计架构的人,否则,这种理解太简单化了,没有反映出不同背景的软件企业、不同发展阶段的软件企业所重点关注的“主战场”的不同。这里用一张图来刻画架构师的几个“主战场”,以辅助我们更准确地定位架构重构在架构师工作中的位置。   随着不同产品的推出、不同版本的发布,需要维护的遗留代码越来越多,重构也就在所难免。关于架构重构能力之于软件企业的意义,可用八个字概括:难点、痛点、未来热点。   难点。不少软企都有架构重构的意愿,但经常是一拖再拖不敢实施。进行了架构重构之后,也有企业发现没效果——架构质量没有得到改善——这相当于架构重构失败了。这是因为,架构“重构”是难点,它比架构“设计”更难。   痛点。困难还不能不做。加个特征很“难”,改个Bug很“绕”,软件工程师费时费力,事倍功半,同时软企管理层也倍感压力,因为维护成本日益呈现攀升趋势,“加快问题单响应速度”目标的达成也越来越遥远。如何把架构重构好,成了大家共同的痛.   未来热点。既然是不好对付的“难点”,又是影响软企切实利益的“痛点”,架构重构领域就必然是“未来热点”了。   4重构能力的价值体现   下面简要阐述一下重构能力价值体现的种种情况。对个人而言,重构能力影响着研发人员的工作业绩、职业发展,是不折不扣的“核心竞争力”。因为当前业界越来越重视对遗留代码、第三方代码、开源代码的利用,掌握重构能力的研发人员能在竞争中脱颖而出。相反,不能自由掌控代码的程序员,加班不少、业绩不高;对现有不满意的架构“力不从心”的架构师,工作也处处被动,高薪但不开心。而软件企业,对“重构人才”已经开始重视起来,对这类人才的要求如下:   (1)对已有系统进行重构和优化;   (2)对组件的重用、重构有丰富的经验;   (3)能够熟练运用各种重构方法;   (4)熟悉Linux系统重构、Bootloader移植;   (5)察觉实现问题,提出改进(重构)方案;   (6)对框架本身的体系有较为深厚的理解和应用经验,对框架本身有过开发或重构者可优先考虑。   同时,大型软件企业也已越来越关心开发骨干重构能力的培养,从2006年专职从事咨询和培训的服务业绩经历已证明这一点。   5未来趋势分析   软企面临的实际问题以及相应的实践探索,是推动未来发展的根本原因。如图2所示,是未来3—5年具体趋势。   趋势1:认识更趋于专业。当前,对不同层面重构的明确认识还不普及,有很多错误观点在流行。例如,诸如“架构重构和代

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档