انجمن برنامه نویسان البرز

تبلیغات

کدهای تکراری! مثل همیشه!

کدهای تکراری! مثل همیشه!


اگر تا امروز حتی چند صفحه کد نوشته باشید، یک ایراد حتما به چشمتان آمده است. مشکل کدنویسی اینجاست که بیشتر از ۵۰% از کارها، همیشه تکراری هستند و خیلی وقت ها درگیر کدهای تکراری میشوید. درست گفتم. نه؟

اما چرا اینطور است؟ چرا این درصد زیاد از کارها تکراری است؟ جواب این سوال خیلی ساده است. چون ماهیت بسیاری از کارها یکسان است. در هر نرم افزاری با دیتا سر و کار داریم. تمام نرم افزارها عملیات crud را نیاز دارند. تمام نرم افزارها – یا حداقل ۹۰% از آنها – به دیتابیس احتیاج دارند و احتیاج داشتن به دیتا، یعنی کارهای تکراری.

پس این کارهای تکراری اجتناب ناپذیر هستند. اما چطور حجمشان را کم کنیم؟ این موضوع را توی ذهنتان نگه دارید تا یک مثال واقعی برایتان بزنم:

فرض کنید تمام لباس هایتان را وسط اتاق، روی هم ریخته اید. امروز صبح که از خواب بیدار میشوید تا به سر کار بروید، پیراهن آبیتان را میخواهید و باید آن را توی این همه لباس پیدا کنید! سخت است. نه؟

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

متوجه تفاوت شدید؟ داستان از این قرار است که در هر دو حالت، ما با مقدار مساوی ای از لباس ها سر و کار داریم. پس لباس ها پای ثابت داستان هستند اما در حالت اول همه آنها را روی هم میریزیم که نهایتا ۱۰ ثانیه زمان میبرد و در حالت دوم آنها را اتو میکنیم و در کمد آویزان میکنیم که شاید چندین ساعت زمان ببرد. بله. ما چندین ساعتت اضافه تر کار میکنیم تا بعدا هر لباسی را که خواستیم، راحت پیدا کنیم.

برگردیم به داستان اصلی خودمان. کدهای تکراری!

زمانی بود که من فکر میکردم خوب کد نوشتن یعنی ختی الامکان، حجم کد را کم کردن. اما اشتباه فکر میکردم. خوب کد نوشتن یعنی استاندارد و تمیز کد نوشتن، ولو اینکه حجم کدها زیادتر بشود. – درست مثل کمد لباس ها –

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

روش های برنامه نویسی لایه ای به وجود آمدند تا کدها را استاندارد کنیم.

ORM ها به وجود آمدند تا عملیات تکراری دیتابیس را کمتر کنند.

User Control ها، کامپوننت ها، کتابخانه های DLL همه و همه سعی در حذف این کدهای تکراری داشتند.

هنوز هم خیلی از برنامه نویس ها اصرار دارند که همیشه چرخ ها را از نوع اختراع کنند و همه چیز را از پایه بسازند. در ذهن من، این افراد همیشه مثل کسانی بوده اند که لباس های اتو شده توی کمدشان را در می آورند، اتو میکنند، دوباره توی کمد میچینند، اتو میکنند و معمولا آنها را نمیپوشند!!!

بله درست شنیدید. برنامه نویس هایی که بیش از حد مته به خشخاش میگذارند، معمولا پروژه ها را با اتمام نمیرسانند و همیشه درگیر ایده آل گرایی های کاذب خوشان میمانند.

کجا بودیم؟ آهان. کدهای تکراری. یادتان باشد دفعه بعد که خواستید تمام این کدهای تکراری را از نو بنویسید، این جمله را در ذهنتان داشته باشید:

وجود این کدهای تکراری خوب است. آنها حکم کمد لباسی را دارند که لباس هایتان را منظم میکنند. اما، لباس های اتو شده را دوباره از نو اتو نکنید!

 




کلمات کلیدی :

نظر بدهید

یک دیدگاه برای “کدهای تکراری! مثل همیشه!

  • احمد ایرانپور گفته
    ۱۹ خرداد ۹۷

    با درود
    جالب بود مثله همیشه.اما یکم عملی این موضوع را بهش بپردازید چون خیلی درگیره آدم باهاش