جلسه دوم دوره آموزشی domain driven design به تدریس مهندس علیرضا ارومند با موفقیت برگزار شد.
مباحثی که در این جلسه مطرح شد به شرح ذیل است:
1- آشنایی با معماریهای مختلف
در طول این دوره ما میخواهیم تلاش کنیم که با معماریهای مختلف آشنا شویم و بتوانیم در زمان نیاز بهترین معماری را انتخاب کنیم و کدهایی خوانا و با قابلیت نگهداری بالا ایجاد کنیم. اما در صورتی که کمی عمیقتر نگاه کنیم بین تمامی اصول و روشها و معماریها یک نکته مشترک وجود دارد که به نظر داشتن تمامی این معماریها بدون داشتن این موضوع صرفا حرفهایی است که اجرایی نمیشود. این موضوع کد نویسی تمیز است. یعنی هرچقدر که در اصطلاح معماریها و روشهای مختلفی را استفاده کنیم اگر در انتهای کار کدهای ما در جزییترین نکات تمیز و قابل نگهداری نباشند قطعا پروژه ما در بلند مدت به شکست خواهد رسید. پس قبل از هر کاری باید کدهایی تمیز داشته باشیم.
2- سناریویی تکراری در شکست اکثر پروژههای نرم افزاری
ابتدا به معرفی یک سناریوی تکراری در شکست پروژههای نرم افزاری پرداختیم و دیدیم که هر یک از اعضای درگیر در پروژهها تا چه اندازه مسئول و تاثیر گذار در این چرخه تکراری شکست هستند.
بعد از اینکه با روال شکست آشنا شدیم نوب به آشنایی با کد نویسی تمیز رسید اما قبل از معرفی کد نویسی تمیز باید بدانیم کد کثیف چه کدی است؟ به همین منظور به معرفی ویژگیهای کدهای کثیف پرداختیم و دیدیم چگونه ویژگیهایی مانند وابستگی مستقیم و شکنندگی میتواند باعث ایجاد کدهای کثیف شود.
3- آشنایی با کدهای تمیز
بعد از آشنایی با شرایط مشترک بین کدهایی که در اصطلاح به آنها کثیف میگوییم نوبت به آشنایی با کدهای تمیز رسید. قبل از اینکه به سراغ جزئیات کدهای تمیز برویم از منظر بزرگان دنیای نرم افزار ویژگیهای کدهای تمیز را مشاهده کردیم و دیدیم که بزرگان برنامه نویسی چه کدهایی را کد تمیز میگویند.
4- بررسی جزئیات کدهای تمیز
در ادامه به بررسی جزئیات کدهای تمیز در قسمتهای مختلف پرداختیم که برخی مواردی که بررسی شدهاند را در ادامه مشاهده میکنید.
اولین نکتهای که در یک کد تمیز باید رعایت کنیم نامگذاری صحیح و تمیز است. با اینکه شاید این نکته عادی و کم تاثیر به نظر برسد اما به شدت بر روی قابلیت نگهداری بلند مدت کدها تاثیر گذار خواهد بود. تمام قسمتهای زندگی ما پر از نامها است و داشتن نامهای درست و صحیح و تمیز برگ برنده ما در داشتن کدهای تمیز و قابل نگهداری است.
5- توابع
بعد از اینکه نکات خود را در مورد نام گذاری بیان کردیم به سراغ کوچکترین جز در برنامه رفتیم یعنی توابع. در این قسمت دیدیم که توابع برنامه نویسی چه ویژگیهایی باید داشته باشند تا بتوانیم کارها را به درستی انجام دهیم. نکات متعددی مثل نامگذاری تابع تعداد ورودیها و خروجیها و طول یک تابع بر روی ساختار تمیز بودن یک تابع تاثیر گذار است که در این قسمت به بیان این نکات پرداختیم.
6- کلاسها
در بخش سوم نوبت به کلاسها رسید و اینکه یک کلاس چه ساختاری باید داشته باشد و چگونه باید ساختاردهی شود تا کلاسی اصولی و تمیز باشد با دو نوع عمده از کلاسهایی که در برنامه نویسی روزمره سر و کار داریم آشنا شدیم.
در انتها نوبت به بررسی توضیحات موجود در برنامه رسید. با هم دیدیم که چرا باید در کدهای خود توضیحات داشته باشیم و چرا نباید در کدها توضیحات استفاده کنیم و دیدیم که برای چه قسمتهایی باید توضیحات را وارد کنیم و اجباری است و از چه نوع توضیحاتی باید دوری کنیم.
آشنایی با کدنویسی تمیز بدون تمرین و اصلاح کدهای موجود بی معنا است. دراین قسمت، از عزیزان حاضر در کلاس خواسته شده بود که برنامههایی که به صورت عملیاتی توسعه داده اند با خود به کلاس بیاورند و در کلاس به صورت مورد به مورد کدهای عزیزان بررسی شد و نکاتی در مورد کدها به هر یک از شرکت کننده ها توضیح داده شد.
جهت کسب اطلاعات بیشتر میتوانید به دوره بسیار کاربردی Domain Driven Design مراجعه کنید.