A Case Study in Object-oriented Patterns Identified During Manual Refactoring

被引:0
作者
Dillon, Brian S. [1 ]
机构
[1] Virginia Tech, Naval Surface Warfare Ctr, Dahlgren Div, Blacksburg, VA 24061 USA
来源
2016 IEEE/ACIS 14TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS (SERA) | 2016年
关键词
Software evolution; reverse engineering; software aging; software quality; refactoring; design patterns; anti-patterns;
D O I
暂无
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
Software design patterns are often-repeated implementations that have been identified and cataloged. These are commonly seen as useful and good patterns to implement. Occasionally the term "anti-pattern" has been used to identify less-useful patterns that also appear regularly. The exact definition of an anti-pattern is somewhat subjective, and the term has even been applied to some recognized design patterns. This paper discusses four manual refactoring case studies where patterns were discovered and cataloged. Evidence observed in the source code is used to infer how these patterns evolved. Based on these findings, preventive development practices are suggested. Potential improvements to development tools and a new method for pattern classification are suggested as subjects for future work.
引用
收藏
页码:91 / 98
页数:8
相关论文
共 25 条
[1]  
Alexander C., 1977, PATTERN LANGUAGE TOW, V2
[2]  
[Anonymous], 1998, AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis
[3]  
[Anonymous], 2010, 2010 IEEE International Conference on Software Maintenance, DOI [10.1109/ICSM.2010.5609564, DOI 10.1109/ICSM.2010.5609564]
[4]  
Bourquin F, 2007, CSMR 2007: 11TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, P149
[5]   Concise and consistent naming [J].
Deissenboeck, Florian ;
Pizka, Markus .
SOFTWARE QUALITY JOURNAL, 2006, 14 (03) :261-282
[6]  
Eder S., 2012, 34 INT C SOFTW ENG Z
[7]   Does code decay? Assessing the evidence from change management data [J].
Eick, SG ;
Graves, TL ;
Karr, AF ;
Marron, JS ;
Mockus, A .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (01) :1-12
[8]  
Fowler M., 2015, ANTIPATTERNS
[9]  
Fowler M., 1999, Refactoring: Improving the design of existing code
[10]  
Gamma Erich., 1994, DESIGN PATTERNS