قوانین Cohesion و Coupling، راهی برای نوشتن کدهای حرفه ای تر 💀
دو اصل Coupling (جفت) و Cohesion
(انسجام)، نقش مهمی در ایجاد سیستم های نرم افزاری قوی و قابل نگهداری دارند، که لازمه هر برنامه نویسی راجبشون بدونه !
یکی از مشکلاتی که برنامه نویس های کمتجربه با اون درگیرن، نوشتن کدهای تمیزه که قوانین زیادی براش وجود داره. یکی از اون قوانین Cohesion و Coupling میباشد.
انسجام یا Cohesion چیه ؟
به صورت خلاصه وقتی شما یک فرمانده باشین(coder) و همه سربازاتون(code) هدف خاصی داشته باشن، بادهم یکپارچه میشن و این میشه پیوستگی.
اما بیانش به طور رسمی، به میزان ارتباط و وابستگی عناصر درون یک ماژول، کلاس یا تابع به یکدیگر اشاره داره.
به صورت کلی انسجام دو نوع داره که هرکدوم تعریف خاص خودشون رو دارن:
1⃣ انسجام بالا
یعنی همه عناصر درون یک ماژول، دستشون تو یک کاسه هست و باهم برای دستیابی به یک هدف مشترک کار میکنن، که این خودش مزیت هایی داره: کد خواناتر _قابل درک
2⃣ انسجام کم
دقیقا برعکس انسجام بالا هست، یعنی هرچی عناصر داخل یک ماژول باهم نامرتبط باشند، انسجام کمتر میشه.
جفت یا Coupling چیه ؟🤔
به میزان وابستگی متقابل ماژول ها به هم کوپلینگ میگویند که مثل انسجام ها دو نوع داره:
1⃣ کوپلینگ کم
کوپلینگ کم یعنی ماژول ها به طور ضعیفی به هم متصل هستن، و میتونن اغلب بدون تاثیر بریکدیگر اصلاح بشن، که یکی از مزیت های آن قابل استفاده مجدد شدن کد ها هست.
2⃣ کوپلینگ بالا
کوپلینگ بالا نشان دهنده وابستگی زیاد ماژول ها با یکدیگر هست، که اگر در یکی از کد ها باگ یا خطایی رخ بده کل سیستم متوقف میشه یا درست کار نمیکنه.
به طور کلی استفاده از Coupling و Cohesion، به خاطر خوانایی بهتر و درک کد و مزیت های دیگه، توصیه میشه و از طرفی برای استفاده ازشون دو نکته رو باید رعایت کنیم:
🔵 گروه بندی کردن ماژول ها، کلاس ها و توابع با وظایف مرتبط
🔵 استفاده از روابط انتزاعی برای پنهان کردن جزئیات پیاده سازی
درکل هدف نهایی نوشتن کدی هست که Coupling کم و Cohesion بالا داشته باشد. این نوع کد قابل نگهداری بیشتر، قابل تستتر و دارای استحکام بیشتری هست.
#cohesion #coupling
@CodeModule
دو اصل Coupling (جفت) و Cohesion
(انسجام)، نقش مهمی در ایجاد سیستم های نرم افزاری قوی و قابل نگهداری دارند، که لازمه هر برنامه نویسی راجبشون بدونه !
یکی از مشکلاتی که برنامه نویس های کمتجربه با اون درگیرن، نوشتن کدهای تمیزه که قوانین زیادی براش وجود داره. یکی از اون قوانین Cohesion و Coupling میباشد.
انسجام یا Cohesion چیه ؟
به صورت خلاصه وقتی شما یک فرمانده باشین(coder) و همه سربازاتون(code) هدف خاصی داشته باشن، بادهم یکپارچه میشن و این میشه پیوستگی.
اما بیانش به طور رسمی، به میزان ارتباط و وابستگی عناصر درون یک ماژول، کلاس یا تابع به یکدیگر اشاره داره.
به صورت کلی انسجام دو نوع داره که هرکدوم تعریف خاص خودشون رو دارن:
یعنی همه عناصر درون یک ماژول، دستشون تو یک کاسه هست و باهم برای دستیابی به یک هدف مشترک کار میکنن، که این خودش مزیت هایی داره: کد خواناتر _قابل درک
دقیقا برعکس انسجام بالا هست، یعنی هرچی عناصر داخل یک ماژول باهم نامرتبط باشند، انسجام کمتر میشه.
جفت یا Coupling چیه ؟
به میزان وابستگی متقابل ماژول ها به هم کوپلینگ میگویند که مثل انسجام ها دو نوع داره:
کوپلینگ کم یعنی ماژول ها به طور ضعیفی به هم متصل هستن، و میتونن اغلب بدون تاثیر بریکدیگر اصلاح بشن، که یکی از مزیت های آن قابل استفاده مجدد شدن کد ها هست.
کوپلینگ بالا نشان دهنده وابستگی زیاد ماژول ها با یکدیگر هست، که اگر در یکی از کد ها باگ یا خطایی رخ بده کل سیستم متوقف میشه یا درست کار نمیکنه.
به طور کلی استفاده از Coupling و Cohesion، به خاطر خوانایی بهتر و درک کد و مزیت های دیگه، توصیه میشه و از طرفی برای استفاده ازشون دو نکته رو باید رعایت کنیم:
درکل هدف نهایی نوشتن کدی هست که Coupling کم و Cohesion بالا داشته باشد. این نوع کد قابل نگهداری بیشتر، قابل تستتر و دارای استحکام بیشتری هست.
#cohesion #coupling
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡7🔥4