پیش‌گفتار:
مدتی است که با خود می‌اندیشم تجربیات‌م را در حوزه‌ی نرم‌افزار در اینجا بنویسم، هم ماندگار خواهد شد و هم شاید به دوستی کمک کند. نمی‌دانم “الگوی ایجاد نرم‌افزار” عبارت مناسبی هست یا نه، ولی تا یافتن عبارت مناسب‌تر از آن استفاده خواهم کرد.

بازی مار و پله 
مار و پله، یک بازی کودکانه و کلاسیک است (اینجا) که احتمالا همه‌ی خوانندگان آن را تجربه کرده‌اند. با انداختن تاس که یک پدیده‌ی تصادفی است، شما به جلو حرکت می‌کنید و هدف بازی، رسیدن به خانه 100 ام است. یکی از ویژگی‌های جذاب مار و پله، وجود مارها در مسیر حرکت‌ مهره است. اگر وارد خانه‌ای شوید که نیش مار در آن قرار دارد، باید مسیر بدن مار را طی کنید و به خانه‌ای بروید که دم مار در آن قرار گرفته است. و متاسفانه دم مار در خانه‌هایی قرار دارد که شما قبلا از آنها گذشته‌اید.

مرجع عکس: اینجا 

 

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

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

الگوی مار و پله‌ی نرم‌افزار
این اتفاق در برنامه‌نویسی از جهاتی شبیه به بازی مار و پله است. با هر بار تاس انداختن، امتیاز می‌آورید و به خانه 100 نزدیک می‌شوید؛ احساس پیروزی می‌کنید، خوشحال می‌شوید، دیگران هم شما را تشویق می‌کنند، سرمست از باده‌ی پیروزی هستید که ناگهان سر و کله‌ی ماری پیدا می‌شود و مهره‌ی شما را چنان نیش می‌زند که لبخند بر لب‌تان خشک می‌شود: روز از نو، روزی از نو.

امیدوارم که در بازی مار و پله‌تان در نرم‌افزار گرفتار مارها نشوید. هرچند شما بهتر می‌دانید که تمام زیبایی و لذت بازی مار و پله به مارها و تاس‌ش است.

گزیده
در گذشته فکر می‌کردم که مسائل بخشی از زندگی‌اند، الان به این نتیجه رسیده‌ام که مسائل خود زندگی‌اند.
از نصیحت‌های دوست عزیزم، آتسز

Share