Code Smells and Detection Techniques: A Survey
Design and code smells are characteristics in the software source code that might indicate a deeper design problem. Code smells can lead to costly maintenance and quality problems, to remove these code smells, the software engineers should follow the best practices, which are the set of correct techniques which improve the software quality. Refactoring is an adequate technique to fix code smells, software refactoring modifies the internal code structure without changing its functionality and suggests the best redesign changes to be performed. Developers who apply correct refactoring sequences to remove code smells, improve the software maintenance and development time significantly. Many tools have been created to automatically or semi-automatically detect code smells and refactor them. This study discusses the code smells, detection techniques, detection and refactoring tools, in addition to observing the challenges and suggesting enhancements for better performance. © 2021 IEEE.