شما اینجایید
خانه > طراحی و پیاده سازی > UI و UX > ده قاعده کلی برنامه نویسی که هر برنامه نویس باید بداند (بخش دوم)

ده قاعده کلی برنامه نویسی که هر برنامه نویس باید بداند (بخش دوم)

برنامه‌نویسی

۴- ترکیب بهتر از ارث بری است

قاعده” ارجحیت ترکیب کردن بر ارث بردن” می گوید که اشیایی با توابع پیچیده باید شامل نمونه های (instance) پیچیده ای از اشیا با توابع منحصر به فرد باشند تا اینکه بخواهند از یک کلاس ارث بری  کنند و توابع تازه ای به آنها اضافه شود. وابستگی بیش از حد به ارث بری می تواند منجر به مشکلات بزرگی شود. اول اینکه ارث بری سلسه مراتبی می تواند در چشم بهم زدنی بهم ریخته و ناخوانا شود. دوم اینکه شما انعطاف پذیری کمتری برای تعریف کردنِ توابع موردیِ بخصوص دارید، بخصوص زمانی که بخواهید تابعی را از یک شاخه ارث بری در شاخه دیگر ارث بری پیاده سازی کنید. ترکیب را می توان خیلی تمییز تر نوشت و آسان تر نگهداری کرد و بسته به اینکه چه نوع تابعی تعریف می کنید به شما قبلیت انعطاف پذیریِ تقریبا نامحدود می دهد. هر تابع منحصر بفرد کلاس مخصوص به خودش را دارد و شما با ترکیب توابع منحصر بفرد، توابعی پیچیده تر ایجاد می کنید.

۵- تک مسئولیت بودن

قاعده تک مسئولیت بودن می گوید:” هرماژول و کلاسی در یک برنامه باید فقط نگران فراهم کردن تکه ای از یک عملکرد (وظیفه) بخصوص باشد. یکی از کارشناسان به نام کامپیوتر می گوید:” برنامه تنها باید یک دلیل برای تغییر داشته باشد.”
کلاس ها و ماژول ها اغلب به این روش کار می کنند، اما به همان نسبتی که خصوصیات و توابع جدیدی اضافه می کنید، خیلی راحت تبدیل به ابرکلاس و ابرماژول می شوند که ممن است شامل صدها یا حتی هزاران خط کد باشند. در این شرایط شما باید آنها را به کلاس ها و ماژول های کوچکتر بشکنید.

۶- جداکردنِ نگرانی ها

قاعده” جداکردنِ نگرانی ها” مانند قاعده تک مسئولیتی است اما در سطحی انتزاعی تر. اسا یک برنامه باید طوری طراحی شود که  تعدادی محفظه یا کپسولِ ( قاعده محفظه سازی در برنامه نویسی) مستقل از هم داشته باشد و این محفظه ها نباید از هم اطلاعی داشته باشند. یک مثال خوب از این دست می تواند معماری MVC یا همان Model-View-Controller باشد که برنامه را به سه بخش متمایز می شکند. داده ها یا Model و قسمت منطقی که همان Controller است و کاربران نهایی که View را می بینند. تغییرات در معماری MVC این روزها در وب فریمورک های اعلب مردم امریرایج است. برای مثال کدی که باید داده را در یک پایگاه داده بارگذاری و ذخیره کند نیازی ندارد که بداند داده روی وب چگونه ارائه می شود. کد مربوط به ارائه (Render) ممکن است از کاربر ورودی دریافت کند و سپس ورودی را برای پردازش به کد بخش منطقی (Logic) بدهد. هر بخش خودش را اداره می کند. این موضوع در کدزنی ماژولار نتیجه خوبی دارد که نگهداری از آن را بسیار ساده تر می کند و در آینده اگر نیاز بود تا تمام کدهای render را دوباره بنویسید می توانید بدون نگرانی از اینکه داده چگونه ذخیره می شود یا بخش منطقی چگونه پردازش می شود، این کار را انجام دهید.

قسمت آخر این مقاله را از لینک زیر بخوانید:

ده قاعده کلی برنامه نویسی که هر برنامه نویس باید بداند (بخش آخر)

پاسخ دهید

بالا