Arash Taher Fa En

پنجره‌های شکسته

به تازگی و به توصیه یکی‌ از آشنایان اهل فن مشغول مطالعه کتاب Pragmatic Programmer شدم. تا الان که دو سه فصلش رو خوندم، کتاب به نظرم بسیار دلپذیر و کاربردی اومده. نکاتی‌ که به خصوص برای من دانشجو که درست کد زدن و مراقبت از اون کد بهم یاد داده نشده (!) به شدت به درد بخور می‌تونه باشه .

progmatic

می‌خوام در ذکر ارزش‌های این کتاب پا رو کمی‌ از این فراتر بذارم و اشاره کنم به اینکه قواعدی که توی این کتاب ازشون ذکر رفته، نه تنها مفید و مؤثر در زمینه کنترل پیچیدگیهای نرم‌افزار، که در زمینه مدیریت هرگونه ساختار منظمی می‌تونه به کار بره.

به عنوانه مثال در فصل اول و در بخش Software Entropy برای بررسی‌ یکی‌ از مهمترین دلایلی که در نهایت منجر به software rot ( استهلاک نرم‌افزار ؟ ) می‌شه، اشاره میکنه به مساله ای مشابه در زمینه پیکربندی و فضای درون شهری؛ اینکه چطور و چرا برخی‌ نقاط از شهر تمیز و زیبا است، در حالی‌ که برخی‌ نقاط دیگه از فرسودگی مزمن رنج میبرن ؟ تفاوت در چیست ؟

جواب کتاب خیلی‌ ساده است : یک پنجره شکسته !

وقتی‌ یک پنجره شکسته برای مدتی‌ طولانی تعمیر نشه، منجر به ایجاد حس متارکه می‌شه. اینکه متولی وجود نداره و به اصطلاح "هرکی‌ به هرکیه". این تفکر بین افراد به تریج گسترش پیدا میکنه و ...

جدای از راه حل‌ها و شرایط خاصی‌ که برای نرم‌افزار وجود داره و در کتاب به تشریح اونها پرداخت می‌شه، فکر کنم الان بتونید ببینید که این موضوع تا چه حد در ساختار‌های اطراف ما صدق می‌کنه. بی‌توجهی‌های کوچکی در سرانجام مثل گوله برفی قل میخورند و قل میخورند، نادیده گرفته میشوند و نادیده گرفته میشوند، تا اینکه کنترل اونها به طور کامل غیر ممکن میشود.

کتاب راه‌حل ساده‌ای رو برای پیشگیری از موضوع پیشنهاد کرده : مشکلات رو به محض پیدا کردن حل کنیم، و یا اگر امکانات کافی‌ برای حل آن را نداریم لاقل کاری کنیم که ضعف در این نقاط همواره به چشم بیاد. در مورد نرم‌افزار میتونیم یک TODO اضافه کنیم، آن قسمت را کامنت کنیم، پیغام "Not Implemented" چاپ کنیم و ...

پس، اگر بخواهیم در یک جمله جمع بندی داشته باشیم باید گفت که : Don`t Live With Broken Windows

Fork me on GitHub