When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Outros Autores: | , |
Tipo de documento: | Artigo |
Idioma: | eng |
Título da fonte: | INFOCOMP: Jornal de Ciência da Computação |
Texto Completo: | https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555 |
Resumo: | Design patterns are general reusable solutions to common recurring problems in software projects. These solutions, when correctly applied, are supposed to enhance modular and flexible structures in software. The aim of this work is to study the occurrences of God Class and Long Method bad smells in software systems developed with design patterns. To achieve this aim, we carried out an exploratory study with five Java systems to: (i) investigate if design patterns avoid bad smells; (ii) identify design patterns that may have co-occurrence with bad smells; and (iii) extract the main reasons that impact on such co-occurrence. We consider in our analysis eleven of the twenty-three GOF design patterns. We also consider the God Class and Long Method bad smells. The results obtained suggest that Composite and Factory Method have a low co-occurrence with these bad smells, and Template Method and Observer have a high co-occurrence with God Class and Long Method, respectively. In addition, we have identified that the misuse of design patterns and the scattering and crosscutting concerns has contributed to such co-occurrences. |
id |
UFLA-5_732dd5f178022fd381badb1846fd507e |
---|---|
oai_identifier_str |
oai:infocomp.dcc.ufla.br:article/555 |
network_acronym_str |
UFLA-5 |
network_name_str |
INFOCOMP: Jornal de Ciência da Computação |
repository_id_str |
|
spelling |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical AnalysisDesign patterns are general reusable solutions to common recurring problems in software projects. These solutions, when correctly applied, are supposed to enhance modular and flexible structures in software. The aim of this work is to study the occurrences of God Class and Long Method bad smells in software systems developed with design patterns. To achieve this aim, we carried out an exploratory study with five Java systems to: (i) investigate if design patterns avoid bad smells; (ii) identify design patterns that may have co-occurrence with bad smells; and (iii) extract the main reasons that impact on such co-occurrence. We consider in our analysis eleven of the twenty-three GOF design patterns. We also consider the God Class and Long Method bad smells. The results obtained suggest that Composite and Factory Method have a low co-occurrence with these bad smells, and Template Method and Observer have a high co-occurrence with God Class and Long Method, respectively. In addition, we have identified that the misuse of design patterns and the scattering and crosscutting concerns has contributed to such co-occurrences.Editora da UFLA2018-06-30info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionapplication/pdfhttps://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555INFOCOMP Journal of Computer Science; Vol. 17 No. 1 (2018): June 2018; 11-221982-33631807-4545reponame:INFOCOMP: Jornal de Ciência da Computaçãoinstname:Universidade Federal de Lavras (UFLA)instacron:UFLAenghttps://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555/498Sousa, Bruno LuanBigonha, Mariza Andrade SilvaFerreira, Kecia Aline Marquesinfo:eu-repo/semantics/openAccess2018-07-23T21:56:34Zoai:infocomp.dcc.ufla.br:article/555Revistahttps://infocomp.dcc.ufla.br/index.php/infocompPUBhttps://infocomp.dcc.ufla.br/index.php/infocomp/oaiinfocomp@dcc.ufla.br||apfreire@dcc.ufla.br1982-33631807-4545opendoar:2024-05-21T19:54:42.912211INFOCOMP: Jornal de Ciência da Computação - Universidade Federal de Lavras (UFLA)true |
dc.title.none.fl_str_mv |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
title |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
spellingShingle |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis Sousa, Bruno Luan |
title_short |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
title_full |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
title_fullStr |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
title_full_unstemmed |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
title_sort |
When GOF Design Patterns occur with God Class and Long Method Bad Smells? - An Empirical Analysis |
author |
Sousa, Bruno Luan |
author_facet |
Sousa, Bruno Luan Bigonha, Mariza Andrade Silva Ferreira, Kecia Aline Marques |
author_role |
author |
author2 |
Bigonha, Mariza Andrade Silva Ferreira, Kecia Aline Marques |
author2_role |
author author |
dc.contributor.author.fl_str_mv |
Sousa, Bruno Luan Bigonha, Mariza Andrade Silva Ferreira, Kecia Aline Marques |
description |
Design patterns are general reusable solutions to common recurring problems in software projects. These solutions, when correctly applied, are supposed to enhance modular and flexible structures in software. The aim of this work is to study the occurrences of God Class and Long Method bad smells in software systems developed with design patterns. To achieve this aim, we carried out an exploratory study with five Java systems to: (i) investigate if design patterns avoid bad smells; (ii) identify design patterns that may have co-occurrence with bad smells; and (iii) extract the main reasons that impact on such co-occurrence. We consider in our analysis eleven of the twenty-three GOF design patterns. We also consider the God Class and Long Method bad smells. The results obtained suggest that Composite and Factory Method have a low co-occurrence with these bad smells, and Template Method and Observer have a high co-occurrence with God Class and Long Method, respectively. In addition, we have identified that the misuse of design patterns and the scattering and crosscutting concerns has contributed to such co-occurrences. |
publishDate |
2018 |
dc.date.none.fl_str_mv |
2018-06-30 |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion |
format |
article |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555 |
url |
https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
https://infocomp.dcc.ufla.br/index.php/infocomp/article/view/555/498 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.publisher.none.fl_str_mv |
Editora da UFLA |
publisher.none.fl_str_mv |
Editora da UFLA |
dc.source.none.fl_str_mv |
INFOCOMP Journal of Computer Science; Vol. 17 No. 1 (2018): June 2018; 11-22 1982-3363 1807-4545 reponame:INFOCOMP: Jornal de Ciência da Computação instname:Universidade Federal de Lavras (UFLA) instacron:UFLA |
instname_str |
Universidade Federal de Lavras (UFLA) |
instacron_str |
UFLA |
institution |
UFLA |
reponame_str |
INFOCOMP: Jornal de Ciência da Computação |
collection |
INFOCOMP: Jornal de Ciência da Computação |
repository.name.fl_str_mv |
INFOCOMP: Jornal de Ciência da Computação - Universidade Federal de Lavras (UFLA) |
repository.mail.fl_str_mv |
infocomp@dcc.ufla.br||apfreire@dcc.ufla.br |
_version_ |
1799874742165962752 |