软件重构的研究

软件重构的研究

ID:44284744

大小:32.50 KB

页数:5页

时间:2019-10-20

软件重构的研究_第1页
软件重构的研究_第2页
软件重构的研究_第3页
软件重构的研究_第4页
软件重构的研究_第5页
资源描述:

《软件重构的研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、软件重构的研究软件重构的研究摘要:软件重构对软件项目开发来说已经变得越来越重要,也是目前软件工程领域研究的热点问题。重构是在不改变行为的条件下对软件的内部结构所做的一种改变,从而使软件更容易理解,便于修改。主要讲述重构技术的基本概念,论述架构重构的问题、难点和发展趋势。关键词:软件重构重构价值重构能力中图分类号:TP311文献标识码:A文章编号:1007-3973(2012)004-080-021引言随着计算机硬件和网络技术的不断发展,软件的功能越来越多,儿乎涉及到各行各业,软件的复杂度也在不断上升,尤其是一些比较复杂的业务处理,往往需要非常缜密的逻辑处

2、理来满足业务需要。而且在研发和维护过程中,往往需要对软件进行不断的修改和完善,导致代码越来越难以维护,甚至到无法修改的程度。软件开发首先已经根据当时的需求做了系统设计和架构设计,但是开发过程中代码没有明确的注释和说明,或者注释比较陈旧,导致在维护过程中给修改工作带来极大的不便。很多人认为,原来的系统既然不能重新开发,而且已经在运行,就讣它去吧。于是,程序员怀着消极的心态增加的代码变成下一个程序员咒骂的对象。依次下去,后面的程序员更会加剧这种心态,而且为了快速修改,往往不加思索的从类似的功能中粘贴相关代码,应付了事。最后软件的代码与最初的设计以及完全脱离开

3、了,所谓的设计以及看不到了。最后,事情发展到我们意料之内而且又无可奈何的地步,代码无法理解,修改难度很大,成本非常高。这是在软件开发领域内程序开发人员一直想解决的问题。软件重构技术的研究正是因为以上出现的普遍现象而被人们关注。2软件重构定义软件重构是指在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造。简而言Z,重构就是改进已经写好的软件的设计。重构是代码维护中的一部分,既不修正错误,乂不增加新的功能性。而是用于提高代码的可读性或者改变代码的结构和设计,使其在将來更容易被维护。特别是,在现有的程序

4、的结构下,给一个程序增加一个新的行为会非常困难,因此开发人员可能先重构这部分代码,使加入新的行为变得容易。3难点、痛点和未来热点架构师不能说就是是设计架构的人,否则,这种理解太简单化了,没有反映出不同背景的软件企业、不同发展阶段的软件企业所重点关注的“主战场”的不同。这里用一张图来刻iuii架构师的几个“主战场”,以辅助我们更准确地定位架构重构在架构师工作中的位置。随着不同产品的推出、不同版木的发布,需要维护的遗留代码越來越多,重构也就在所难免。关于架构重构能力Z于软件企业的意义,可用八个字概括:难点、痛点、未来热点。难点。不少软企都有架构重构的意愿,但

5、经常是一拖再拖不敢实施。进行了架构重构Z后,也有企业发现没效果——架构质量没有得到改善——这相当于架构重构失败了。这是因为,架构“重构”是难点,它比架构“设计”更难。痛点。困难还不能不做。加个特征很“难”,改个Bug很“绕”,软件工程师费时费力,事倍功半,同吋软企管理层也倍感压力,因为维护成木日益呈现攀升趋势,“加快问题单响应速度”冃标的达成也越來越遥远。如何把架构重构好,成了大家共同的痛.未來热点。既然是不好对付的“难点”,乂是影响软企切实利益的“痛点”,架构重构领域就必然是“未来热点”To4重构能力的价值体现下面简要阐述一下重构能力价值体现的种种情况

6、。对个人而言,重构能力影响着研发人员的工作业绩、职业发展,是不折不扣的“核心竞争力”o因为当前业界越来越重视对遗留代码、第三方代码、开源代码的利用,掌握重构能力的研发人员能在竞争中脱颖而出。相反,不能自由掌控代码的程序员,加班不少、业绩不高;对现有不满意的架构“力不从心”的架构师,工作也处处被动,高薪但不开心。而软件企业,对“重构人才”已经开始重视起來,对这类人才的要求如下:(1)对已有系统进行重构和优化;(2)对组件的重用、重构有丰富的经验;(3)能够熟练运用各种重构方法;(4)熟悉Linux系统重构、Bootloader移植;(5)察觉实现问题,提出

7、改进(重构)方案;(6)对框架本身的体系有较为深厚的理解和应用经验,对框架本身有过开发或重构者可优先考虑。同时,大型软件企业也已越来越关心开发骨干重构能力的培养,从2006年专职从事咨询和培训的服务业绩经历已证明这一点。5未來趋势分析软企面临的实际问题以及相应的实践探索,是推动未来发展的根本原因。如图2所示,是未來3—5年具体趋势。趋势1:认识更趋于专业。当前,对不同层面重构的明确认识还不普及,有很多错误观点在流行。例如,诸如“架构重构和代码重构差不多”等观点,是不切实际的。更专业的认识,是将重构分为代码重构(CodeRefactoring)>模块重构(

8、ModuleRefactoring)>架构重构(ArchitectureRefa

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。