Code Module | کد ماژول
1.93K subscribers
357 photos
42 videos
6 files
356 links
Hello World 🌎

<> Earth is programmable if you code it </>

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
قوانین Cohesion و Coupling، راهی برای نوشتن کدهای حرفه ای تر 💀

دو اصل Coupling (جفت) و Cohesion
(انسجام)، نقش مهمی در ایجاد سیستم های نرم افزاری قوی و قابل نگهداری دارند، که لازمه هر برنامه نویسی راجبشون بدونه !

یکی از مشکلاتی که برنامه نویس های کم‌تجربه با اون درگیرن، نوشتن کدهای تمیزه که قوانین زیادی براش وجود داره. یکی از اون قوانین Cohesion و Coupling می‌باشد.

انسجام یا Cohesion چیه ؟

به صورت خلاصه وقتی شما یک فرمانده باشین(coder) و همه سربازاتون(code) هدف خاصی داشته باشن، بادهم یکپارچه میشن و این میشه پیوستگی.
اما بیانش به طور رسمی، به میزان ارتباط و وابستگی عناصر درون یک ماژول، کلاس یا تابع به یکدیگر اشاره داره.

به صورت کلی انسجام دو نوع داره که هرکدوم تعریف خاص خودشون رو دارن:

1⃣انسجام بالا
یعنی همه عناصر درون یک ماژول، دستشون تو یک کاسه هست و باهم برای دستیابی به یک هدف مشترک کار میکنن، که این خودش مزیت هایی داره: کد خواناتر _قابل درک

2⃣انسجام کم
دقیقا برعکس انسجام بالا هست، یعنی هرچی عناصر داخل یک ماژول باهم نامرتبط باشند، انسجام کمتر میشه.

جفت یا Coupling چیه ؟ 🤔

به میزان وابستگی متقابل ماژول ها به هم کوپلینگ میگویند که مثل انسجام ها دو نوع داره:

1⃣ کوپلینگ کم
کوپلینگ کم یعنی ماژول ها به طور ضعیفی به هم متصل هستن، و میتونن اغلب بدون تاثیر بریکدیگر اصلاح بشن، که یکی از مزیت های آن قابل استفاده مجدد شدن کد ها هست.

2⃣کوپلینگ بالا
کوپلینگ بالا نشان دهنده وابستگی زیاد ماژول ها با یکدیگر هست، که اگر در یکی از کد ها باگ یا خطایی رخ بده کل سیستم متوقف میشه یا درست کار نمیکنه.

به طور کلی استفاده از Coupling و Cohesion، به خاطر خوانایی بهتر و درک کد و مزیت های دیگه، توصیه میشه و از طرفی برای استفاده ازشون دو نکته رو باید رعایت کنیم:

🔵گروه بندی کردن ماژول ها، کلاس ها و توابع با وظایف مرتبط

🔵استفاده از روابط انتزاعی برای پنهان کردن جزئیات پیاده سازی


درکل هدف نهایی نوشتن کدی هست که Coupling کم و Cohesion بالا داشته باشد. این نوع کد قابل‌ نگهداری‌ بیشتر، قابل‌ تست‌تر و دارای استحکام بیشتری هست.


#cohesion #coupling
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4