تعریف بوی کد
الگوی سطحیِ کد که معمولاً خبر از مشکلِ عمیقترِ طراحی میدهد؛ حکم قطعی نیست، دعوت به بررسی است.
| بو | علامت | درمان اول |
|---|---|---|
| تکرار | یک منطق در سه جا | استخراج تابع |
| تابع طولانی | اسکرول برای فهمیدن | شکستن به قدمها |
| پارامترِ زیاد | امضای پنجتایی | گروهبندی در شیء/دیتاکلاس |
| شرط تودرتو | هرمِ if | نگهبان و استخراج شرط |
| حسادتِ ویژگی | متدی که بیشتر با دادهٔ کلاسِ دیگر کار میکند | جابهجایی متد |
| کلاس خدا | همهچیز میداند | تقسیم مسئولیت |
قانون مهم: بو را با شاهد تأیید کن (تغییرِ اخیر در همین ناحیه سخت بود؟ تست ندارد؟) بعد درمان. بازآراییِ بدون دردِ واقعی، سلیقهبازی است.
برداشت نادرست رایج
اشتباه رایج
کدِ تمیز یعنی کدِ کوتاهتر.
تصحیح
کدِ تمیز یعنی تغییرِ بعدی ارزانتر. گاهی نسخهٔ تمیز چند خط بلندتر است ولی هر خطش سر جای درستش نشسته.