IDEAS home Printed from https://ideas.repec.org/a/gam/jsusta/v13y2021i18p10256-d635117.html
   My bibliography  Save this article

Bad Smells of Gang of Four Design Patterns: A Decade Systematic Literature Review

Author

Listed:
  • Sara H. S. Almadi

    (Department of Software Engineering, Faculty of Computer Science and Information Technology, Universiti Malaya, Kuala Lumpur 50603, Malaysia)

  • Danial Hooshyar

    (School of Digital Technologies, Tallinn University, 10120 Tallinn, Estonia)

  • Rodina Binti Ahmad

    (Department of Software Engineering, Faculty of Computer Science and Information Technology, Universiti Malaya, Kuala Lumpur 50603, Malaysia)

Abstract

Gang of Four (GoF) design patterns are widely approved solutions for recurring software design problems, and their benefits to software quality are extensively studied. However, the occurrence of bad smells in design patterns increases the crisis of degenerating design patterns’ structure and behavior. Their occurrences are detrimental to the benefits of design patterns and they influence software sustainability by increasing maintenance costs and energy consumption. Despite the destructive roles of bad smells in such designs, there are an absence of studies systematically reviewing bad smells of GoF design patterns. This study systematically reviews a 10-year state of the art sample, identifying 16 studies investigating this phenomenon. Following a thorough evaluation of the full contents, we observed that the occurrence of bad smells have been investigated in proportion to four granularity levels of analysis: Design level, category level, pattern level, and role level. We identified 28 bad smells, categorized under code smells and grime symptoms, and emphasized their relationship with GoF pattern types and categories. The utilization of design pattern bad smell detection approaches and datasets were also discussed. Consequently, we observed that the research phenomenon is growing intensively, with a prominent focus of studies analyzing code smell occurrences rather than grime occurrences, at various granularity levels. Finally, we uncovered research gaps and areas with significant potentials for future research.

Suggested Citation

  • Sara H. S. Almadi & Danial Hooshyar & Rodina Binti Ahmad, 2021. "Bad Smells of Gang of Four Design Patterns: A Decade Systematic Literature Review," Sustainability, MDPI, vol. 13(18), pages 1-28, September.
  • Handle: RePEc:gam:jsusta:v:13:y:2021:i:18:p:10256-:d:635117
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/2071-1050/13/18/10256/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/2071-1050/13/18/10256/
    Download Restriction: no
    ---><---

    References listed on IDEAS

    as
    1. Jan Skalka & Martin Drlik & Lubomir Benko & Jozef Kapusta & Juan Carlos Rodríguez del Pino & Eugenia Smyrnova-Trybulska & Anna Stolinska & Peter Svec & Pavel Turcinek, 2021. "Conceptual Framework for Programming Skills Development Based on Microlearning and Automated Source Code Evaluation in Virtual Learning Environment," Sustainability, MDPI, vol. 13(6), pages 1-30, March.
    2. Mahmoud Alfadel & Khalid Aljasser & Mohammad Alshayeb, 2020. "Empirical study of the relationship between design patterns and code smells," PLOS ONE, Public Library of Science, vol. 15(4), pages 1-35, April.
    Full references (including those not matched with items on IDEAS)

    Most related items

    These are the items that most often cite the same works as this one and are cited by the same works as this one.
    1. Cristian D. González-Carrillo & Felipe Restrepo-Calle & Jhon J. Ramírez-Echeverry & Fabio A. González, 2021. "Automatic Grading Tool for Jupyter Notebooks in Artificial Intelligence Courses," Sustainability, MDPI, vol. 13(21), pages 1-26, October.

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jsusta:v:13:y:2021:i:18:p:10256-:d:635117. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    If CitEc recognized a bibliographic reference but did not link an item in RePEc to it, you can help with this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.