آموزش کدنویسی دفاعی در جاوا

Defensive Coding in Java

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: اشکالات رخ می‌دهند، اما مطمئناً می‌توانید مجموعه‌ای از روش‌ها را برای تشخیص زودهنگام یا حتی پیشگیری از آنها اجرا کنید. در این دوره آموزشی، برنامه نویسی دفاعی در جاوا، یاد می گیرید که چگونه کد خود را ایمن تر و قوی تر کنید. هسته توسعه نرم افزار دانش کامل عیب یابی و اشکال زدایی است، اما به سختی "سرگرم کننده" است. بهتر است از بروز اشکالات جلوگیری کنید یا حداقل هر چه زودتر به آنها واکنش نشان دهید. در این دوره آموزشی، کدنویسی دفاعی در جاوا، یاد خواهید گرفت که چگونه نرم افزارهای ایمن تر و قوی تر بنویسید. ابتدا، مفهوم شکست زودهنگام و نحوه استفاده موثر از انواع بند های محافظ در روش ها و سازنده ها را خواهید آموخت. در مرحله بعد، مجموعه ای از کتابخانه های کمکی بسیار محبوب را بررسی خواهید کرد که کد دفاعی شما را مختصر و ظریف تر می کند. سپس، خواهید دید که بازگرداندن مقادیر قابل پیش بینی و قابل درک از روش های خود چقدر مهم است و نحوه انتخاب و پیاده سازی آنها را خواهید آموخت. در نهایت، انواع تکنیک‌های دفاعی را خواهید دید که اغلب نادیده گرفته می‌شوند، اما به میزان زیادی به کیفیت کلی نرم‌افزار کمک می‌کنند. وقتی این دوره را به پایان رساندید، مهارت های لازم برای نوشتن کدهایی را خواهید داشت که قابل اطمینان تر و نگهداری آسان تر باشد.

سرفصل ها و درس ها

بررسی اجمالی دوره Course Overview

  • بررسی اجمالی دوره Course Overview

چرا کدنویسی دفاعی مهم است Why Defensive Coding Matters

  • معرفی دوره Course Introduction

  • کدگذاری دفاعی چیست؟ What is Defensive Coding

  • چرا از کدنویسی دفاعی استفاده کنیم؟ Why Apply Defensive Coding

  • پیش نیازها Prerequisites

  • بررسی اجمالی دوره Course Overview

ورودی روش اعتبارسنجی Validating Method Input

  • نمای کلی ماژول Module Overview

  • معرفی پروژه کد Code Project Introduction

  • دوره تصادف لامبداس Lambdas Crash Course

  • شکست سریع با بندهای گارد Fail Fast with Guard Clauses

  • اعتبار سنجی null Validating null

  • اعتبارسنجی محدوده اعداد Validating Number Ranges

  • اعتبار سنجی رشته ها Validating Strings

  • رسیدگی به تاریخ ها Handling Dates

  • در نظر گرفتن ترکیبات Considering Combinations

  • پیاده سازی متغیرهای کلاس Implementing Class Invariants

  • انتخاب استثناهای مناسب Choosing the Right Exceptions

  • چیزی که ما پوشش ندادیم What We Didn't Cover

  • بسته بندی ماژول Module Wrap Up

استفاده از Frameworks برای اعتبار سنجی Using Frameworks for Validation

  • نمای کلی ماژول Module Overview

  • Objects API Objects API

  • با استفاده از Google Guava Using Google Guava

  • مقایسه Apache Commons Comparing Apache Commons

  • استفاده از Hamcrest و AssertJ Leveraging Hamcrest and AssertJ

  • مدیریت کتابخانه ها Managing Libraries

  • بسته بندی ماژول Module Wrap Up

بهبود مقادیر بازده روش Improving Method Return Values

  • نمای کلی ماژول Module Overview

  • اعداد جادویی Magic Numbers

  • گزینه های بازگشت روش Method Return Options

  • وقتی null را برگردانید چه اتفاقی می افتد What Happens When You Return null

  • پیش فرض های معقول Sensible Defaults

  • مجموعه های خالی Empty Collections

  • جاوا اختیاری Java Optional

  • بسته بندی ماژول Module Wrap Up

استفاده از سایر روش های دفاعی Using Other Defensive Practices

  • نمای کلی ماژول Module Overview

  • برای کپسولاسیون بهتر تلاش کنید Strive for Better Encapsulation

  • مراقب عوارض جانبی روش باشید Be Careful with Method Side Effects

  • مدیریت استثناهای خود را بهبود بخشید Improve Your Exception Handling

  • از ابزارهای تحلیل استاتیکی استفاده کنید Use Static Analysis Tools

  • توصیه های بیشتر Further Recommendations

  • بسته بندی ماژول Module Wrap Up

نمایش نظرات

آموزش کدنویسی دفاعی در جاوا
جزییات دوره
2h 0m
41
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
123
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andrejs Doronins Andrejs Doronins

Andrejs یک متخصص تضمین کیفیت با بیش از 6 سال تجربه است. وی در اتوماسیون تست تخصص دارد اما اهمیت درگیر شدن در چرخه عمر توسعه نرم افزار را نادیده نمی گیرد - یافتن مسائل در هنگام تجزیه و تحلیل نیازها به اندازه انجام آزمایش دستی و اکتشافی مهم است. وی در زمینه نوشتن واحدها ، آزمونهای ادغام و پذیرش برای تعداد زیادی فناوری و زمینه - از اتوماسیون مرورگر تا لایه Web API و تا آزمایش اجزای پیام رسان Enterprise - با تجربه است.