Skip to main content
Top

2021 | OriginalPaper | Chapter

Using Clients to Support Extract Class Refactoring

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

Abstract

Extract Class refactoring refers to the process of separating the different responsibilities of a class into different classes. Existing approaches of the Extract Class refactoring are based on factors internal to the class, i.e., structural and semantic relationships between methods. However, using the internal factors to identify and separate the responsibilities of the class is inadequate in many cases. Therefore, this chapter proposes a novel approach that exploits the clients of the class to support the Extract Class refactoring. The proposed approach is useful and complementary to the existing approaches because it involves factors external to the class to be refactored, i.e., the clients.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literature
1.
go back to reference M. Fowler, Refactoring: Improving the Design of Existing Code (Addison-Wesley Professional, Boston, 1999)MATH M. Fowler, Refactoring: Improving the Design of Existing Code (Addison-Wesley Professional, Boston, 1999)MATH
2.
go back to reference R.C. Martin, M. Martin, Agile Principles, Patterns, and Practices in C# (Robert C. Martin) (Prentice Hall PTR, Upper Saddle River, 2006) R.C. Martin, M. Martin, Agile Principles, Patterns, and Practices in C# (Robert C. Martin) (Prentice Hall PTR, Upper Saddle River, 2006)
3.
go back to reference M. Fokaefs, N. Tsantalis, A. Chatzigeorgiou, J. Sander, Decomposing object-oriented class modules using an agglomerative clustering technique, in 2009 IEEE International Conference on Software Maintenance (IEEE, New York, 2009), pp. 93–101CrossRef M. Fokaefs, N. Tsantalis, A. Chatzigeorgiou, J. Sander, Decomposing object-oriented class modules using an agglomerative clustering technique, in 2009 IEEE International Conference on Software Maintenance (IEEE, New York, 2009), pp. 93–101CrossRef
4.
go back to reference G. Bavota, A. De Lucia, R. Oliveto, Identifying extract class refactoring opportunities using structural and semantic cohesion measures. J. Syst. Softw. 84(3), 397–414 (2011)CrossRef G. Bavota, A. De Lucia, R. Oliveto, Identifying extract class refactoring opportunities using structural and semantic cohesion measures. J. Syst. Softw. 84(3), 397–414 (2011)CrossRef
5.
go back to reference G. Bavota, A. De Lucia, A. Marcus, R. Oliveto, Automating extract class refactoring: an improved method and its evaluation. Empir. Softw. Eng. 19(6), 1617–1664 (2014)CrossRef G. Bavota, A. De Lucia, A. Marcus, R. Oliveto, Automating extract class refactoring: an improved method and its evaluation. Empir. Softw. Eng. 19(6), 1617–1664 (2014)CrossRef
6.
go back to reference S. Mäkelä, V. Leppänen, Client-based cohesion metrics for java programs. Sci. Comput. Programm. 74(5–6), 355–378 (2009)MathSciNetCrossRef S. Mäkelä, V. Leppänen, Client-based cohesion metrics for java programs. Sci. Comput. Programm. 74(5–6), 355–378 (2009)MathSciNetCrossRef
7.
go back to reference M. Alzahrani, A. Melton, Defining and validating a client-based cohesion metric for object-oriented classes, in 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), vol. 1 (IEEE, New York, 2017), pp. 91–96 M. Alzahrani, A. Melton, Defining and validating a client-based cohesion metric for object-oriented classes, in 2017 IEEE 41st Annual Computer Software and Applications Conference (COMPSAC), vol. 1 (IEEE, New York, 2017), pp. 91–96
8.
go back to reference M. Alzahrani, S. Alqithami, A. Melton, Using client-based class cohesion metrics to predict class maintainability, in 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), vol. 1 (IEEE, New York, 2019), pp. 72–80 M. Alzahrani, S. Alqithami, A. Melton, Using client-based class cohesion metrics to predict class maintainability, in 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), vol. 1 (IEEE, New York, 2019), pp. 72–80
9.
go back to reference T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms (MIT Press, Cambridge, 2009)MATH T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein, Introduction to Algorithms (MIT Press, Cambridge, 2009)MATH
Metadata
Title
Using Clients to Support Extract Class Refactoring
Author
Musaad Alzahrani
Copyright Year
2021
DOI
https://doi.org/10.1007/978-3-030-70873-3_48