tgoop.com/dotnetcode/3080
Last Update:
از اضطراب تا اطمینان: پارادوکسِ ملالت
در دنیای مهندسی نرمافزار، جایی که پیچیدگی ذات سیستم است و تغییر تنها ثابتِ آن، «ترس» همواره در سایه کدها کمین کرده است. ترس از شکستن کدهای قدیمی هنگام افزودن قابلیتهای جدید، ترس از باگهای پنهان در لایههای زیرین، و ترس از آن لحظهی هولناکِ "Deploy" که نمیدانیم سیستم تاب میآورد یا خیر.
کنت بک در این جمله، مرز باریک میان یک «کدنویس» و یک «مهندس نرمافزار» را ترسیم میکند. او معیار کافی بودن تستها را نه در درصد پوشش کد (Code Coverage)، بلکه در آرامش روان توسعهدهنده جستجو میکند.
۱. ترس به عنوان سیگنال:
وقتی کدی مینویسید و هنوز اضطراب دارید، این ترس یک سیگنال فنی است. به این معناست که سیستم شما هنوز پیشبینیناپذیر است. شما هنوز تمام سناریوهای مرزی را رام نکردهاید. این ترسِ سازنده، سوختِ نوشتن تستهای بیشتر است.
۲. استحاله به ملالت (Boredom):
چرا «ملالت» یا «کسالت»؟ در اینجا کنت بک واژهی Boredom را به عنوان یک فضیلت ستایش میکند. هیجان در عملیات مهندسی، معمولاً نشانه خوبی نیست؛ هیجان یعنی غیرقابل پیشبینی بودن، یعنی خطر.
وقتی تستهای شما آنقدر کامل، دقیق و جامع هستند که اجرای آنها هیچ شگفتیای برایتان ندارد و نتیجهی سبز شدنشان از پیش برایتان مسجل است، شما به آن «ملالت مقدس» رسیدهاید.
نتیجهگیری:
تستنویسی فقط برای یافتن باگ نیست؛ ابزاری است برای خریدنِ اعتماد به نفس. جملهی کنت بک به ما یادآوری میکند که هدف نهایی TDD، تبدیل کردن فرآیند توسعه نرمافزار از یک ماجراجویی پرخطر و استرسزا، به یک روتینِ قابل پیشبینی، امن و حتی «خستهکننده» است.
زمانی که انتشارِ کد جدید برایتان به اندازه نوشیدن یک لیوان آب معمولی و بیهیجان شد، آنگاه میتوانید ادعا کنید که معماری سیستمتان بالغ شده است.
📚💻 @dotnetcode

