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