آیا شما از دسته برنامه نویسانی هستید که پروژه ها را با انگیزه شروع میکنید اما هرگز به پایان نمیرسانید؟ آیا پروژه شما آنقدر سخت و سنگین میشود که در وسط کار، از انجامش نا امید میشوید؟ باید بدانید این مشکل تنها مختص شما نیست. تعداد زیادی از برنامه نویسان، به این بیماری دچار هستند. ایده آل گرایی در برنامه نویسی ، خطری است که در کمین خیلی از برنامه نویس ها است.
شاید با این موضوع برخورد کرده باشید که بعضی از برنامه نویسان مبتدی، مسئله ای را که شما با بهترین کیفیت و در زمان طولانی حل کرده اید، در زمانی کوتاه و با کیفیتی پایین تر حل میکنند. بله. کیفییت پایین تر است. اما مگر مهم است؟ مسئله حل شده!
به محصولاتی که تا امروز تولید کرده اید فکر کنید. کدامیک از آنها بدون هیچ تغییری به مشتری تحویل داده شده اند و ۱۰۰% نیازهای او را برطرف کرده اند؟ واقعیت این است که امکان ندارد پروژه ای تولید شود و در همان شروع کار، تمام نیازهای مشتری را برطرف کند. اصولا متدهای برنامه نویسی ای نظیر Agile بر همین اساس تولید شده اند. همین جا است که خطر ایده آل گرایی در برنامه نویسی مشخص میشود.
واقعیت این است که ایده آل گرایی بیش از حد، صورت مسئله را آنقدر بزرگ میکند که انرژی انجام آن را نخواهید داشت.
این مشکل معمولا در برنامه نویسان حرفه ای حادتر و بیشتر است. یکی از دلایل این ایده آل گرایی در برنامه نویسی ،دانش زیاد است. گاهی وقتها آنقدر راه حل های مختلف برای حل یک مسئله بلدیم، که نمیتوانیم تصمیم بگیریم کدام را انتخاب کنیم. پس راه حل چیست؟ چطور باید انتخاب کنیم مسئله را چطور حل کنیم؟
برای حل مسئله ها همیشه چند نکته مهم را مد نظر داشته باشید تا گرفتار ایده آل گرایی افراطی نشوید:
- مسائل را طوری کدنویسی کنید که اگر بعدا خواستید کدهایتان را ویرایش کنید، به راحتی بفهمید چه کاری کرده اید.
- بیشتر وقتتان را صرف شناخت و تحلیل مسئله کنید بعد به کدنویسی اقدام کنید. معمولا برنامه نویسان دچار این غرور کاذب هستند که مسئله ای که با آن روبرو هستند، پیش پا افتاده تر از آن است که نیاز به تحلیل داشته باشد.
- مسئله را از ساده ترین راه حل کنید. اما یک نکته را به خاطر داشته باشید. کد را طوری بنویسید که بعدها یشود آنرا با حداقل هزینه زمانی و مالی، ویرایش کرد. تعادل میان گسترش پذیری و ایده آل گرایی را به مرور درک خواهید کرد.
- به کاربری کدتان دقت کنید. برای مال اگر در حال ساختن فرم تنظیمات اولیه برنامه هستید که کلا یک بار استفاده خواهد شد، زیاد مته به خشخاش نگذارید.
- با توسعه تست محور بیشتر آشنا شوید.
- چرخ ها را از نو اختراع نکنید.
- به اطرافتان دقت کنید. متاسفانه اکثر برنامه نویسانی که دچار ایده آل گرایی افراطی هستند، محصولات کاربردی زیادی را تولید نکرده اند. برعکس معمولا برنامه نویسان عادی محصول های زیادی ساخته اند.
- به یاد داشته باشید یک محصول ناقص، بهتر از نداشتن یک محصول است.
- بهترین محصول های دنیا، در چرخه کار و استفاده شدن توسط مشتری، تکمیل شده اند و هیچ نرم افزاری از روز اول کامل نبوده است.
به هر حال چه از دسته برنامه نویسان حرفه ای هستید یا معمولی، خطر ایده آل گرایی در برنامه نویسی را جدی بگیرید. از افراط در ایده آل گرایی پرهیز کنید.
شیوا محمدی