برنامههای عالی، عملیات مورد نیاز را مطابق آنچه انتظار میرود انجام میدهند، به کاربران کمک میکنند تا دادههای صحیح را وارد کنند، استثنائات سیستم و برنامه را کنترل میکنند و اصلاح و نگهداری کد را برای توسعه دهندگان آینده آسان میکنند. کد نویسی دفاعی بر بهبود درک کد از طریق کد تمیز، ارتقای کیفیت کد با تستهای واحد و بهبود پیش بینی پذیری کد با ساختن متدهای واضح و آماده سازی برای موارد غیر منتظره تمرکز دارد. در دوره ویدیویی Defensive Coding in C# موسسه Pluralsight که توسط Deborah Kurata تدریس شده است، شما میتوانید توانایی دفاعی برنامه خود در برابر خطرات موجود در دنیای واقعی را تقویت کنید.
ابتدا، با دنبال کردن تکنیک هایی مانند اصل Single Responsibility، چگونگی بهبود درک کد خودتان را یاد خواهید گرفت. سپس، چگونگی بهبود کیفیت کد را از طریق آزمونهای واحد بررسی خواهید کرد. در آخر، چگونگی بهبود پیش بینی پذیری کد را با اعتبارسنجی آرگومانهای متد، مدیریت صحیح null ها، بازگشت نتایج قابل پیش بینی و مدیریت استثنائات بررسی خواهید کرد. پس از اتمام این دوره، مهارت و دانش لازم برای تقویت دفاع کد خودتان را در اختیار خواهید داشت.
فیلم آموزشی «کدنویسی دفاعی در سی شارپ» موسسه پلورال سایت که توسط Deborah Kurata تدریس شده است، دارای زیرنویس انگلیسی است.
Table of Contents:
Course Overview
- Course Overview
Why Defensive Coding Matters
- What Are We Defending Our Code From?
- What Is Defensive Coding?
- Protected but Nimble
- Course Overview
Strengthening Our Code’s Defenses
- Evaluating Weaknesses
- Improving Code Comprehension
- Improving Code Quality
- Demo: Unit Testing
- Improving Code Predictability
- Guidelines and Summary
Validating Method Arguments
- Defining Clear Method Signatures
- Surrounding Our Operations with Conditionals
- Failing Fast with Guard Clauses
- Unit Testing for Expected Exceptions
- Refactoring Our Methods
- Demo: Refactoring Our Methods
- Guidelines and Summary
Handling Nulls
- The Billion Dollar Mistake?
- Declaring Nullable Value Types
- Defending Our Code from Null Nullable Value Types
- Defending Our Code from Null Reference Types
- Reference Type Nullability Features
- Demo: Reference Type Nullability Features
- Guidelines and Summary
Returning Predictable Results
- Defining Predictable Method Results
- Defining ref and out Parameters
- Returning a Tuple
- Returning an Object
- Returning Predictable Results: Validation Methods
- Returning Predictable Results: Simple Operations
- Returning Predictable Results: Find and Retrieve Methods
- Returning Predictable Results: Complex Operations
- Guidelines and Summary
Managing Exceptions
- What Is Exception Handling?
- Defending Our Code from Exceptions
- Throwing .NET Exceptions
- Creating and Throwing Custom Exceptions
- Catching What We’re Thrown
- Guidelines and Summary
Final Words
- Recap
- Learning More and Closing