خیلی وقتا میشه اصول دنیای علوم کامپیوتر رو به زندگیمون بسط بدیم. مثلا اصل Seperation of Concerns یکی از اون اصول بنیادی توی دنیای نرم افزاره که اگه حواسمون بهش نباشه، زندگی واقعا سخت میشه. لپِ مطلب اینه که «مشکلهات رو از هم تفکیک بکن و بعدش برای هر کدوم یه راه حل مستقل ارائه بده».
مثال بزنم. خیلی وقتا توی زندگیمون با یه مشکلِ خیلی کلی و گنگ و انتزاعی روبرو هستیم و درست نمیشناسیمش، مثلا «حالم بده» یا «خستهام» یا «دیگه حوصلهام سر رفته» یا «خیلی تحت فشارم». بعدش میآیم برای این مشکل دنبالِ راهِ حل بگردیم، و خب این مشکلات کلی راه حلهاشون هم کلیه و دیگه اصلا راه حل نیست، بلکه پاک کردنِ صورت مسئلهست، مثلا «استعفا بدم» یا «کات کنم». به نظرم کارِ درست اینه که تو دقیقا بفهمی که «چرا حالم بده؟»، «چرا خستهام؟»، مثلا به چندتا دلیل میرسی، «رابطهام با مدیرم فرساینده شده»، «نیاز به چند روز استراحت دارم». خب، مشکلات جزئیتر شدن و حالا میشه براشون به راه حل فکر کرد. حتی این مشکل رو ببین: «رابطهام با مدیرم فرساینده شده»، خودِ این باید ریشهیابی بشه، ممکنه خودش معلولِ چندتا چیز دیگه باشه. خلاصه وقتی که ریشههای این مشکلات رو پیدا میکنیم، اون موقع میتونیم به هرکدوم جداگونه فکر کنیم و برای هرکدوم یه راهِ حلِ جداگونه پیدا بکنیم. وقتی میخوایم یه راه حل بدیم که همزمان چندینتا مشکل رو حل بکنه، زندگی واقعا سختتر میشه.
فقط یه نکتهی مهم وجود داره، اون هم اینه که گاهی که به یه مشکل خاصی خوردیم، اون قدر تحت فشاریم که این «تفکر ساختارمند» رو از دست میدیم، فقط دلت میخواد بزنی زیرِ میز، میخوای صورت مسئله رو پاک بکنی و فقط فرار کنی. نتیجهی این فرار چیه؟ این طوری از اون شغل یا رابطه میآیم بیرون، بعدش وقتی که رفتیم سراغ شغل یا رابطهی جدید و به همون مشکل خوردیم، میفهمیم که مشکل از خودمون بوده، نه از اون شغل یا رابطه.
- پنجشنبه ۲ فروردين ۰۳