Code Smell mengacu pada konsep mengenai pola atau aspek desain pada sistem perangkat lunak yang dapat menimbulkan masalah dalam proses pengembangan, penggunaan, atau perawatan sebagai dampak dari implementasi yang buruk dari desain perangkat lunak. Code Smell dapat menurunkan aspek understandability dan maintainability program.