«کد نویسی تمیز» هنر نوشتن کدی است که انسانها بتوانند آن را درک کنند. با دوره #Clean Coding Principles in C موسسه Pluralsight که توسط Cory House تدریس شده است، شما مهارتهای حرفه ای خود را ارتقا میدهید و کیفیت کد سی شارپ خودتان را با در نظر گرفتن کسی که قرار است این کد را بخواند افزایش میدهید و همچنین یاد میگیرید که کدهای سی شارپ را به گونه ای بنویسید که به سادگی قابل نوشتن، خواندن و نگهداری باشند.
این دوره بر اساس سه روش اصلی کد نویسی تمیز ساخته شده است: انتخاب ابزار مناسب برای کار، بهینه سازی نسبت سیگنال به نویز و ایجاد منطق خود مستندسازی. در طول این دوره، شما مقایسههای واضحی بین کدهای سی شارپ «کثیف» که باید از آنها دوری کنید و معادل «تمیز» آنها را خواهید دید. شما الگو هایی مانند کد پیکان، شکست سریع، بازگشت زود هنگام، کلاسهای آهنربا، متغیرهای mayfly، تکنیکهای کاهش پیچیدگی متد و موارد دیگر را بررسی خواهید کرد. این شیوه ها، پایه و اساس شغل توسعه حرفه ای است و به توسعه دهندگان واژگان واضحی را برای ارزیابی کیفیت کد ارائه میدهد.
فیلم آموزشی «اصول کدنویسی تمیز در سی شارپ» موسسه پلورال سایت که توسط Cory House تدریس شده است، دارای زیرنویس انگلیسی است.
Table of Contents:
Course Overview
- Course Overview
Why Writing Clean Code Matters
- Intro and Course Outline
- Reasons to Write Clean Code
- Developers Are Authors
- Course Conventions
- Resources
- Summary
Clean Coding Principles
- Intro
- Three Clean Code Principles
- Picking the Right Tool for the Job
- Boundaries Matter: Stay Native
- Every Tech Is Potentially Evil
- Maximizing Signal to Noise
- Don't Repeat Yourself
- Self-documenting Code
- Summary
Naming
- Intro
- Why Naming Matters
- Naming Classes
- Naming Methods
- Rubber Ducking
- Avoiding Side Effects
- Warning Signs
- Avoid Abbreviations
- Naming Booleans
- Strive for Symmetry
- Summary
Writing Conditionals That Convey Intent
- Intro
- Boolean Comparisons
- Boolean Assignments
- Prefer Positive Conditionals
- Ternaries Are Beautiful
- Be Strongly Typed
- Avoid Magic Numbers
- Handling Complex Conditionals
- Prefer Polymorphism over Enums
- Be Declarative
- Table Driven Methods
- Summary
Writing Clean Methods
- Intro
- When to Create a Function
- Why Create a Method - Reason 1: Avoid Duplication
- Why Create a Method - Reason 2: Excessive Indentation
- Excessive Indentation Solution 1: Extract Method
- Excessive Indentation - Solution 2: Fail Fast
- Excessive Indentation - Solution 3: Return Early
- Why Create a Method - Reason 3: Convey Intent
- Why Create a Method - Reason 4: Do One Thing
- Mayfly Variables
- How Many Parameters?
- Signs a Method Is too Long
- Handling Exceptions
- Summary
Writing Clean Classes
- Intro
- When to Create a Class
- Class Cohesion Overview
- Low vs. High Cohesion
- Names and Cohesion
- Signs a Class Is too Small
- Primitive Obsession
- The Proximity Principle
- The Outline Rule
- Summary
Writing Clean Comments
- Intro
- Comments: A Necessity and a Crutch
- Dirty Comment 1: Redundant
- Dirty Comment 2: Intent
- Dirty Comment 3: Apology
- Dirty Comment 4: Warning
- Dirty Comment 5: Zombie Code
- Dirty Comment 6: Divider
- Dirty Comment 7: Brace Tracker
- Dirty Comment 8: Bloated Header
- Dirty Comment 9: Defect Log
- Clean Comments
- Summary
Demo: Refactoring to Clean C#
- Intro
- Speaker Class Overview
- Code Metrics
- Automated Test Overview
- Refactor Agenda Overview
- Remove Unhelpful Comments
- Refactor to Mayfly Variables
- Positive Conditionals
- Implement Guard Clauses
- Rename Variables
- Extract Method and Return Early
- Refactor Red Flags to Method
- Consolidate Guard Clauses
- Extract To Approve Sessions Method
- Switch to a Table Driven Method and Fail Fast
- Centralize Validation
- Review Outline Rule
- Bug Fixes: What a Contrast!
- Compare Code Analytics Results
- Summary
Staying Clean
- Intro
- When to Refactor
- Code Review and Pairing
- Host Lunch and Learns
- Accept No More Broken Windows
- Boy Scout Rule
- Wrap Up