Evaluating Co-Occurrence of GOF Design Patterns with God Class and Long Method Bad Smells - Sousa, Bruno; Bigonha, Mariza; Ferreira, Kecia (Anais do Simpósio Brasileiro de Sistemas de Informação (SBSI); 2017: Anais do XIII Simpósio Brasileiro de Sistemas de Informação, 2017)
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 a study with five Java project, in order to: (i) investigate if the use of GOF design patterns avoid the occurrences of the bad smells God Class and Long Method, (ii) identify co-occurrences of the GOF design patterns with these bad smells, and (iii) identify the main situations that lead software systems to present these co-occurrences. 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 the emergence of such co-occurrences.