TDD چیست و چرا باید همین امروز شروع کنید؟
۱۶ مهر ۱۴۰۵
نویسنده:
حسن محمدزاده

چرخهی Red-Green-Refactor
توسعهی مبتنی بر تست (TDD) یعنی قبل از نوشتن کد اصلی، ابتدا یک تست مینویسید که شکست میخورد (Red)، سپس کمترین کد لازم برای موفق شدن تست را مینویسید (Green)، و در نهایت کد را بدون تغییر رفتار، بهبود میدهید (Refactor).
چرا این روش برعکس بهنظر میرسد اما کار میکند
در نگاه اول، نوشتن تست قبل از کد کند بهنظر میرسد. اما در عمل، TDD شما را مجبور میکند قبل از نوشتن کد، دقیقاً فکر کنید که چه چیزی باید ساخته شود. این کار از نوشتن کد اضافه یا غیرضروری جلوگیری میکند.
مزیت پنهان: مستندسازی زنده
مجموعهی تستهای TDD در واقع نوعی مستندات زنده هستند؛ هر توسعهدهندهی جدید میتواند با خواندن تستها بفهمد هر بخش از سیستم قرار است چه کاری انجام دهد — بدون نیاز به مستندات جداگانه که همیشه قدیمی میشوند.
شروع کوچک
لازم نیست از همان ابتدا کل پروژه را با TDD بنویسید. با یک فیچر کوچک و مستقل شروع کنید؛ وقتی تفاوت را در اطمینانخاطر هنگام تغییر کد دیدید، بهطور طبیعی این روش را در بخشهای بیشتری از کار خود بهکار میبرید.