Clean Code
مقدمه
در این فاز با مفاهیم و تکنیکهای مختلفی برای افزایش کیفیت کد آشنا میشوید و کد فاز قبل را به یک کد بسیار با کیفیت تبدیل میکنید. سپس کد خود را با سایر کارآموزان به اشتراک میگذارید و از آنها میخواهید کدتان را Review کنند.
اهمیت Clean Code
در ابتدا در مورد دو سوال زیر فکر کنید و با هم تیمی خود بحث کنید:
- چرا تمیز بودن کد و داشتن معماری خوب مهم است؟ چرا باید وقت و انرژی زیادی صرف طراحی و نوشتن کد تمیز شود؟
- چرا این موضوع در ابعاد صنعتی اهمیت بسیار بیشتری پیدا میکند؟
تلاش کنید فقط با فکر خودتان و بحث با هم تیمی به جواب سوالات بالا برسید تا ذهن شما برای مراحل بعد آماده شود.
لطفا قبل از فکر کردن به این سوالات به سراغ مراحل بعدی و خواندن مقالات نروید!
حال برای فهم دلایل اهمیت کد تمیز در صنعت، The Importance of Clean Code را در جواب سوال اول و Why software maintainability is crucial - TechHQ را در جواب سوال دوم مطالعه کنید.
Code Smell
یکی از راههای افزایش کیفیت کد، پیدا کردن نشانههای کد کثیف در برنامه و سپس Refactor کردن آن است، به صورتی که نشانههای کد کثیف از بین بروند. به این نشانهها Code Smell میگوییم. در این مرحله در مورد Code Smellهای زیر مطالعه کنید و مشخص کنید کدام یک از موارد زیر در کدی که برای پروژه جستجو به وجود آمده است؟
اصول S.O.L.I.D
یکی از مهمترین مجموعه اصول در مهندسی نرمافزار، اصول پنجگانهٔ SOLID میباشد.این اصول عبارتاند از:
- Single Responsibility
- Open for Extension/Closed for Modification
- Liskov Substitution
- Interface Segregation
- Dependency Inversion
برای آشنایی با اصول SOLID لینکهای زیر را مطالعه کنید:
برای مطالعه بیشتر میتوانیدA Solid Guide to SOLID Principles را مطالعه کنید.
Refactoring Techniques
برای Refactor کردن بخشهای مختلف کدتان و رفع Code Smellها خلاقیت به خرج دهید یا به مجموعۀ Refactoring Techniques مراجعه کنید.
مطالعۀ دقیق تمام موارد موجود در لینک مذکور نیاز نیست همین که به فهرست آن نگاه کنید و بعضی از آنها را مرور کنید کافیست.
Code Review
از یک تیم دیگر بخواهید Pull Request شما که در مرحلهی Refactor ساختهاید را Review کنند و بر اساس لیست Code Smellها به شما بازخورد بدهند (روی Pull Request کامنت بگذارند)، در این مرحله حتما از تیمهای دیگر هم سراغ شما میآیند و میخواهند کدشان را Review کنید، قبل از Review کد دیگران، راهنماهای زیر را مطالعه کنید و Review خود را بر اساس این راهنماها انجام دهید:
با توجه به این که در این فاز صحبتی در مورد انواع تست به خصوص Unit Test نکردیم قسمتهایی از لینکهای بالا که در مورد تست است را نادیده بگیرید.