در ادامه ترجمه کتاب بینظیر The Clean Coder (اثر رابرت سی. مارتین)، به فصل دوم یعنی نه گفتن (Saying No) رسیدیم. فصلی که احتمالاً خیلی از ما با خوندنش یاد خاطرات تلخ اضافهکاریهای بینتیجه و کدهای کثیف میافتیم!
عمو باب در این فصل یک خط قرمز پررنگ میکشه: حرفهایها جرئت دارند حقیقت را به قدرت بگویند.
خلاصه این فصل جنجالی در ۴ نکته طلایی:
1️⃣ چیزی به نام سعی کردن وجود ندارد! (قانون یودا): وقتی مدیرت یک کار غیرممکن میخواد و تو میگویی سعی میکنم، در واقع داری دروغ میگویی. قول دادن به تلاش، یعنی اعتراف به اینکه تا الان کمکاری میکردی و حالا میخواهی انرژی ذخیرهات را آزاد کنی. اگر برنامه جدیدی برای حل مشکل نداری، گفتن سعی میکنم فقط آماده شدن برای یک شکست قطعی است.
2️⃣ تضاد منافع، سالم و ضروری است: مدیران وظیفه دارند اهداف کسبوکار را با شدت دنبال کنند (مثل تحویل سریعتر). برنامهنویسها هم وظیفه دارند از کیفیت و واقعیت دفاع کنند. اگر مدیرت میگوید فیچر X باید تا فردا آماده شود و تو میدانی غیرممکن است، تنها جواب حرفهای یک کلمه است: نه.
3️⃣ آدمِ تیمی بودن به معنی بلهقربانگو بودن نیست: آدم تیمی کسی نیست که برای خوشایند بقیه، قولهای غیرمنطقی بدهد. تیمی بودن یعنی صادقانه و با شجاعت نشان دهی چه چیزی شدنی است و چه چیزی نیست، حتی اگر به قیمت یک جلسه پرتنش تمام شود.
4️⃣ هزینه وحشتناکِ بله گفتن: وقتی از روی ترس یا برای قهرمانبازی ددلاینهای غیرمنطقی را میپذیریم، چه اتفاقی میافتد؟ تستنویسی فراموش میشود، معماری نابود میشود، کدهای کثیف (Spaghetti Code) متولد میشوند و در نهایت هم خودمان فرسوده میشویم و هم پروژه شکست میخورد.
کسی که نمیتواند نه بگوید، نمیتواند کد تمیز بنویسد.
فصل دوم، کلین کدر