هزینهی بیشازحد مهندسیکردن
گاهی سیستمهایی چنان انعطافپذیر میسازیم که بعداً هیچکس — از جمله خودمان — نمیتواند درکشان کند. این یادآوریای است که شفافیت اغلب بهتر از زیرکی مقیاس میگیرد.
معمولاً با نیت خوب شروع میشود. یک نیازِ آینده را پیشبینی میکنی، پس یک انتزاع اضافه میکنی. بعد یکی دیگر. طولی نمیکشد که قابلیتی که باید یک بعدازظهر طول میکشید، یک هفته میشود، چون هر تغییر باید از پنج لایهی غیرمستقیم عبور کند.
مالیاتِ پنهان
هر انتزاع یک هزینه دارد. فقط زمانِ ساختنش نیست — زمانی است که هر کسی پس از تو صرفِ فهمیدنش میکند. هرچه کدت عمومیتر باشد، خواننده برای دنبالکردنِ یک مسیرِ واحد در آن باید بافتِ بیشتری در ذهن نگه دارد.
- غیرمستقیمبودن: پریدن میان فایلها برای یافتنِ جایی که کار واقعاً انجام میشود.
- پیکربندی: گزینههایی که برای حالتهایی وجود دارند که هرگز نمیآیند.
- بارِ ذهنی: خواندنِ ده خط برای فهمیدنِ یک خط.
برای امروز بساز
بهترین کد اغلب کسلکنندهترین کد است. دقیقاً همان کاری را میکند که میگوید، به همان ترتیبی که انتظار داری، بدون هیچ غافلگیری. وقتی نیازِ تازهای واقعاً پیدا شد، بازآرایی میکنی — با دانشِ واقعی بهجای حدس.
کدِ زیرکانه یک روز تحسینبرانگیز است. کدِ شفاف سالها به تو بازمیگرداند. شفافیت را انتخاب کن، و بگذار سیستم فقط وقتی رشد کند که واقعاً به آن نیاز دارد.