- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件重构与智能推荐
软件优化与软件重构
•软件演化与软件质量
refactoring restructuring
软件重构的主要特征
• 目标
• 提高代码的可读性、可维护性、可扩展性
•手段
• 调整代码内部结构
•特色
• 不得改变软件的功能
软件重构的流程
Where
How
Revision
Evaluation
Where
•代码坏味:
Badly designed source code
that should be restructured.
Martin Fowler,1999
Code Smells 与软件重构
• 重复代码/克隆代码 Duplicated code
Extract Method
•上帝类 Large class/God object Extract Class
Move Method
•特征依恋Feature envy
•过于亲密 Inappropriate intimacy
•拒绝继承 Refused bequest (遗产)
•长方法 Long Method
代码坏味与软件度量
•God class
ATFD: Access to Foreign Data
WOC: Weighted Operation Count
TCC: Tight Capsule Cohesion
代码坏味与软件度量
• 关键挑战
• 度量本身有效性
是否需要消除所有Code Smells?
• 度量值能否准确反映软件的质量?缺乏语义分析
• 不同的人可能采用不同的度量检测相同的smell
• Long method
• 软件重构的目的性 为了想象中的演化进行重构是否值得?
• 重构本身不会带来新的功能(收益),不会对最终用户产生直接影响。
• 高风险、高成本的软件重构是为了度量?
• Clone
• 重构的主观性
重构推荐是否需要因人而异?
• 症状 vs 疾病
不同的设计问题可能导致相同的smell?
智能化重构推荐
•实时监控与即时重构
•重构监控与重构扩展
•基于反馈的阈值优化
•重构冲突与重构调度
•基于文本分析的重构推荐
程序员
开发
确认
提示
源码 重构执行 重构调度
反馈信息
您可能关注的文档
最近下载
- 猎豹-CS10-产品使用说明书-2.0T 6MT至尊版 -CFA6460AQ-CS10用户手册1.pdf VIP
- 2024年湖北省生态环境监测专业技术人员大比武竞赛考试题库(含答案).docx VIP
- 加油站安全生产考试题及答案.docx VIP
- 迅达9300扶梯安装说明.pdf VIP
- 医院信息化管理资金申请报告.docx
- 台达变频器cp2000使用说明书新.pdf
- 第三届全国沼气生产职业技能竞赛广西夺冠-农业部.PDF VIP
- GB15558.3__燃气用埋地聚乙烯(PE)管道系统 第3部分:阀门.pdf VIP
- 高速公路项目危险源及重大危险源清单.docx VIP
- 2025年交管12123驾驶证学法减分题库含答案大全.pdf
文档评论(0)