Ali Razavi
Ali Razavi
خواندن ۳ دقیقه·۱ سال پیش

principle های مهم در مهندسی نرم افزار

مقدمه :

خب چند وقتیه دید خودمو از دایره که همیشه دور خودم می کشیدم وسیع تر کردم و سعی میکنم موارد و موضوعات مختلف از ساید بالا به پایین بهشون نگاه بندازم تا بتونم خودمو یکم نسبت بهشون آماده کنم و در موردشون فکر کنم تو این چند وقتی که این دید به زندگی اضافه کردم دنیای دیدم و عمق مطالب برای وسیع تر و زیباتر شدن و باعث شده بتونم چند principle مهم در مهندسی نرم افزار یاد بگیرم دوست داشتم براتون به اشتراک بذارم شاید به دردتون بخوره :)


اولین اصل Keep it simple, stupid به مخفف بهش KISS هم میگن این اصل بهمون میگه همه چیز رو ساده بگیر احمق پیچیده نکن مطالب رو برای خودت به قول امروزیا سختش نکن این اصل سال ۱۹۶۰ اولین بار توسط نیروی دریایی ایالات متحده مورد توجه قرار گرفت . طبق داستان کوتاهی که ازش پیدا کردم داستان از این قرار بوده میخاستن سیستم اطلاع رسانی شونو راه اندازی کنند و مهندسی که این وظیفه بر عهده داشته کلی پیچیده کرده بود کارو و برای اطلاع رسانی کردن باید کلی کار میکردی تا پیام ارسال می شد مدیر اونجا از این واژه Keep it simple, stupid استفاده میکنه و میگه همه چیز رو ساده بگیر احمق .

یک مثال دارن اینگلیسی ها میگه چی میگه اکثرا سیستم ها در صورتی بهترین عملکرد را دارند که ساده نگه داشته شوند نه پیچیده .

در مهندسی نرم افزار میگن یک هدف کلیدی در طراحی اینه از پیچیدگی های غیر ضرروری اجتناب گردد .

یک داستان باحال دیگه راجب این موضوع بهتون بگم اینکه Kelly Johnson مهندس هواپیما بوده که از جملات : بسیار ساده نگه دارید . ساده باش عزیزم . ساده نگه دار یا آن را ساده حفظ کن . ساده سر راست نگه دارید و ... استفاده میکرده که به تمامی زیر دستان خودش و خودش یاد اوری کنه بهترین اصل ساده نگه داشتنه .

دومین اصل You Aren't Gonna Need It به مخفف بهش YGNI هم میگن این اصل بهمون میگه پیچیدگی به نرم افزار خودت اضافه نکن به اصطلاح Over Engineering نکن یعنی چی یعنی اینکه داخل نرم افزارت نیا کاری بکن که شاید احتمال وقوعش زیر ۵ درصد باشه و شاید اصن بهش نیاز نداشته باشی و تو فکرش باشی پس به این فکر کن شاید کاری که الان میکنی نرم افزارت نیاز بهش نداشته باشه پس دست نگهدار .

از نظر من وقتی دارید کد نویسی میکنید خا ناخواه دارید بدهی به نرم افزار خودتون اضافه میکنید پس بدهی الکی بیهوده اضافه نکن .

سومین اصل separation of concern هستش خب مخففی نداره :) تا الان مخففی براش نساختن همون کامل صداش بزنید فکر کنم بدش میاد مخففش کنیم . بگذریم این اصل بهمون میگه دغدغه های که داری جداسازی کن از هم و هر کدومشون رو به قطعات کوچیک تر تقسیم کن و هر کدوم رو جای درست قرار بده تا به شکل نهایی برسی این اصل داخل برنامه نویسی خیلی استفاده میشه میگن اپلیکیشن خودتو به لایه های متفاوت تقسیم کن و جوری لایه ها اپلیکیشن توسعه بده که کمترین هم پوشانی بین عملکرد لایه های دیگه داشته باشه .

چهارمین اصل Don't Repeat Yourself هستش که به مخفف بهش میگن DRY این به این معنی هستش از الگو های تکراری و کد های تکراری جلوگیری کن و سعی کن جوری نرم افزارت توسعه بدی که از تکرار بپرهیزی که بر پایه این اصل یک مطلب هست میگه هر وقت دیدی داری کدی میزنی و تکرار میکنی یک چیزیو هعیی بدون کدت بهینه نیست و میتونی بهینه تر بنویسی و از تکرار بی مورد بپرهیزی .

امیدوارم زندگی داشته باشید که دغدغه هاتون از هم جدا کنید و به اون چیزی که زیر ۵ درصد اتفاق می افته فکر میکنی و شاید اصن رخ نده نیازش نداشته باشی فکر نکنی و در عین سادگی از تکرار بپرهیز .

نرم افزارمهندسی نرم افزارsoftware engineeringprogrammingsoftware
برنامه نویس دون پایه
شاید از این پست‌ها خوشتان بیاید