در صنعت، به کدهایی که دارای مشکل هستند اصطلاحا Code Smells میگویند.
اینها کدهای کامپایل، اجرا و دارای نتیجه هستند، دلیل اینکه به این کدها، کدهای مشکل دار میگویند این است که غیرقابل خواندن، پیچیده و همچنین نگهداری و توسعه را سخت میکنند و باید در اسرع وقت آنها را Refactor کرد.
بصورت کلی سه نوع Code Smell ممکن است در برنامه وجود داشته باشند:
1- کدهای سطح Application
2- کدهای سطح کلاس
3-کدهای سطح متد