面向设计的开源软件项目重构经验研究  被引量:3

Empirical Study of Design-Oriented Refactorings in Open Source Projects

在线阅读下载全文

作  者:阮航[1,2] 陈恒[1,2] 彭鑫[1,2] 赵文耘[1,2] RUAN Hang;CHEN Heng;PENG Xin;ZHAO Wenyun(Software School, Fudan University, Shanghai 201203, China;Shanghai Key Laboratory of Data Science, Fudan University, Shanghai 201203, China)

机构地区:[1]复旦大学软件学院,上海201203 [2]复旦大学上海数据科学重点实验室,上海201203

出  处:《计算机科学与探索》2017年第9期1418-1428,共11页Journal of Frontiers of Computer Science and Technology

基  金:国家自然科学基金(No.61370079);国家重点研发计划(No.2016YFB1000801)~~

摘  要:软件在演化过程中经常被修改,软件结构往往会偏离原有的设计方向,软件质量也会逐渐变差。不良设计造成的技术债务在后续开发过程中会带来许多困难和阻碍,需要及时重构,改善原有代码的不良设计。对常见的重构操作进行了简单介绍和分类。在两个开源项目上进行了经验研究,关注两个问题:(1)重构在开源项目中是否被广泛应用,其中是否存在面向设计的重构;(2)是否存在没有及时重构改善原有代码的不良设计,导致后续开发遇到不必要的困难的情况,并且后续是否进行了重构。初步证明了重构在开源项目中的广泛应用和重要性,以及面向设计的重构的重要作用。Software is constantly changing and evolving,driven by the increment of requirements.Software often degrades from the original design,the quality of codes also becomes poor.Developers will meet more barriers and difficulties in the future development when there are some technical debts in the original design.It is necessary to improve the quality of codes by refactorings.This paper introduces some common types of refactorings under the review of related literature,and introduces a simple case to verify the importance of the design-oriented refactorings.This paper aims to answer two questions:(1)whether there are applied refactorings in the open source project and whether there are design-oriented refactorings among them;(2)whether there exists some situation that the structure with a bad design causes difficulties in the fellow-up development and whether the developers apply some refactorings to it later.This paper proves the wide use and importance of refactorings in open source projects,particularly the importance of the design-oriented refactorings.

关 键 词:技术债 软件设计 重构 开源项目 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象