آموزش Masterclass Ultimate Clean Code برای سال 2025

دانلود Ultimate Clean Code Masterclass for 2025

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: بدون توجه به زبان، کد با کیفیت بالا بنویسید. اصول SOLID را دنبال کنید و از بوهای کد رایج و ضد الگوها اجتناب کنید. کدهایی با کیفیت عالی بنویسید اهمیت کد پاک را درک کنید اصول SOLID را درک کنید و یاد بگیرید که کد را به گونه‌ای که با آنها مطابقت داشته باشد، یک طراحی عالی ایجاد کنید تا کد شما به راحتی گسترش و اصلاح شود اجتناب از بوها و ضد الگوهای رایج کد. نیازها: دانش اولیه هر زبان برنامه نویسی

به کلاس MasterClean Code خوش آمدید، تنها دوره ای که برای ارتقای کیفیت کد خود به سطح بعدی نیاز دارید!


13 ساعت ویدیوی درخواستی، 21 آزمون و 8 مطالعه موردی بازسازی اصلی. همه اینها به شما کمک می کند مانند یک حرفه ای شروع به کدنویسی کنید.


من یک مدیر فنی با بیش از 10 سال تجربه حرفه ای هستم. من در هر مرحله به شما در این سفر کمک خواهم کرد، فرقی نمی‌کند مبتدی هستید که به دنبال ایجاد عادت‌های خوب هستید یا یک توسعه‌دهنده با تجربه که قصد دارد مهارت‌های خود را تقویت کند.


در طول دوره، ما به اصول کد پاک می پردازیم، با تمرکز بر موضوعات ضروری مانند نام گذاری قراردادها، قالب بندی کد، و طراحی توابع و کلاس ها. شما یاد خواهید گرفت که چگونه کدی بنویسید که درک و تغییر آن آسان باشد. در پایان دوره، درک کاملی از نحوه تمیز نگه داشتن پایگاه کد خود و جلوگیری از مشکلات رایجی که منجر به بدهی فنی می شود، خواهید داشت.


اصول SOLID اساس کدهایی هستند که به خوبی طراحی شده اند، و ما آنها را با جزئیات بررسی خواهیم کرد.


Refactoring چیزی است که ما همیشه تمرین خواهیم کرد. نمونه‌هایی از کدهایی را می‌بینید که اصول کدنویسی تمیز را نقض می‌کنند و یاد می‌گیرید که چگونه آن را به یک راه‌حل تمیز و حرفه‌ای تبدیل کنید.


این دوره به شما کمک می کند توسعه دهنده کارآمدتری باشید. کد پاک منجر به اشکالات کمتر، اشکال‌زدایی آسان‌تر و اجرای سریع‌تر ویژگی‌های جدید می‌شود.


تست های واحد یک ابزار ضروری در جعبه ابزار هر برنامه نویسی است. ما یاد خواهیم گرفت که چگونه تست های تمیز بنویسیم و همچنین چگونه کد خود را طوری طراحی کنیم که قابل آزمایش باشد.


در پایان دوره، دانش و اعتماد به نفس برای نوشتن کدهای تمیز و ظریفی خواهید داشت که در آزمون زمان مقاومت می کنند. چه در حال کار بر روی یک پروژه جانبی کوچک باشید و چه در برنامه های بزرگ در سطح سازمانی همکاری می کنید، تسلط بر کد پاک مهارت های توسعه شما را به سطح بعدی می برد. به من بپیوندید و از امروز شروع به نوشتن کدهای تمیزتر، هوشمندانه تر و حرفه ای تر کنید!


این دوره برای برنامه نویسان هر زبانی در نظر گرفته شده است. نمونه هایی در سی شارپ ارائه خواهد شد.


این دوره با 30 روز ضمانت بازگشت وجه ارائه می شود. اگر راضی نیستید، می توانید آن را برگردانید و تمام پول خود را پس بگیرید، بدون سوال. به عبارت دیگر شما با خرید این دوره هیچ خطری را تهدید نمی کنید. شما چیزی برای از دست دادن ندارید و دانشی که به دست خواهید آورد ممکن است شغل شما را به سطح بالاتری برساند.


پس چرا درنگ کنید؟ در این دوره به من بپیوندید و مانند یک حرفه ای شروع به کدنویسی کنید.


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

مقدمه Introduction

  • خوش آمدید! اطلاعات اولیه و نحوه دریافت کمک Welcome! Basic information & how to get help

  • 46 ثانیه در مورد مربی شما 46 seconds about your instructor

  • 149 ثانیه در مورد این دوره 149 seconds about this course

  • 120 ثانیه در مورد بهینه سازی زمان 120 seconds about time optimization

  • دسترسی به کد Accessing the code

  • به فراگیران "نهایی C# Masterclass" من To my “Ultimate C# Masterclass” learners

  • منابع Resources

اهمیت کد پاک The importance of clean code

  • قبل از شروع: واژگان ضروری Before we start: essential vocabulary

  • اهمیت کد پاک The importance of clean code

  • تصمیمات بد مربوط به کیفیت کد Bad decisions related to code quality

  • بدهی های فنی Tech debt

  • حرفه ای بودن Being professional

  • کد تمیز چیست؟ What is clean code?

  • کد خوب و بد - مقایسه Good and bad code - comparison

  • کد پاک و هوش مصنوعی Clean code and AI

  • اهمیت کد پاک The importance of clean code

نامگذاری Naming

  • اهمیت نام های معنی دار The importance of meaningful names

  • نامگذاری اصول Naming fundamentals

  • پیرو کنوانسیون Following the convention

  • چرا از نام های بد استفاده می کنیم؟ Why do we use bad names?

  • تغییر نام. قانون پیشاهنگی Renaming. The Boy Scout rule

  • مقابله با نامگذاری مشکل ساز Dealing with problematic naming

  • نام های رسا Expressive names

  • نام های بلند و کوتاه Long and short names

  • اصل کمترین غافلگیری The Principle of Least Surprise

  • نامگذاری اصول Naming fundamentals

  • صحت معنایی Semantic correctness

  • همنام ها Homonyms

  • مترادف ها Synonyms

  • سازگاری Consistency

  • تطبیق کثرت Matching plurality

  • زبان طبیعی که در کد استفاده می کنیم The natural language we use in code

  • تقلید از زبان گفتاری Imitating the spoken language

  • نام گذاری پیشرفته Advanced naming

  • نام های بد - کلمات بی معنی Bad names - meaningless words

  • نام های بد - نام های بیش از حد خاص Bad names - overspecific names

  • نام های بد - نماد مجارستانی Bad names - Hungarian notation

  • نام های بد - نام های گیج کننده Bad names - confusing names

  • نام های بد - مخفف ها Bad names - abbreviations

  • نام های بد Bad names

  • اختصارات معقول نام های متعارف Reasonable abbreviations. Conventional names

  • زمینه Context

  • Refactoring مطالعات موردی - مقدمه Refactoring case studies - introduction

  • Refactoring مطالعه موردی: نامگذاری Refactoring case study: Naming

توابع Functions

  • اصول توابع Functions fundamentals

  • امضای خوب روش ها Good signatures of methods

  • تعداد پارامترها Number of parameters

  • پارامترهای کمتر - تقسیم روش Fewer parameters - splitting the method

  • پارامترهای کمتر - بسته بندی پارامترهای مرتبط Fewer parameters - bundling related parameters

  • پارامترهای کمتر - اجتناب از پارامترهای بولی Fewer parameters - avoiding boolean parameters

  • پارامترهای کمتر - شیوه های بد Fewer parameters - bad practices

  • ترتیب پارامترها Order of parameters

  • امضاها Signatures

  • پارامترهای Ref و Out (موضوع خاص C#) Ref and out parameters (C# specific topic)

  • روش های کوچک Small methods

  • یک روش، یک کار One method, one job

  • دستیابی به روش هایی که فقط بر یک کار متمرکز شده اند Achieving methods focused on one task only

  • مطالعه موردی بازسازی مجدد: یک روش، یک کار Refactoring case study: One method, one job

  • سطوح انتزاع Levels of abstraction

  • آهنگسازی سطوح مختلف انتزاع Composing different levels of abstraction

  • سطوح انتزاع در روش ها Levels of abstraction within methods

  • اندازه روش ها و سطوح انتزاع Methods size & levels of abstraction

  • ترتیب روش ها Order of methods

  • استقلال روش ها Independence of methods

  • توابع خالص Pure functions

  • مزایای توابع خالص The benefits of pure functions

  • روش های با کیفیت بالا High-quality methods

  • مطالعه موردی بازسازی: روش ها - مقدمه Refactoring case study: Methods - introduction

  • مطالعه موردی بازسازی مجدد: روش ها - امضا Refactoring case study: Methods - signature

  • مطالعه موردی بازسازی: روش ها - بدن Refactoring case study: Methods - body

قالب بندی کد Code formatting

  • اهمیت قالب بندی کد The importance of code formatting

  • سبک های قالب بندی مختلف و ارزش سازگاری Different formatting styles and the value of consistency

  • ابزارهای قالب بندی کد Code formatting tools

  • تورفتگی Indentation

  • بلوک های کد Code blocks

  • شکستن خطوط Breaking the lines

  • قالب بندی عمودی Vertical formatting

  • قالب بندی کد Code formatting

  • مطالعه موردی بازسازی مجدد: قالب بندی کد - کد Refactoring case study: Code formatting - code

  • مطالعه موردی Refactoring: قالب‌بندی کد Refactoring case study: Code formatting

اصول جامد SOLID principles

  • اصول کلاسها Classes fundamentals

  • مقدمه ای بر اصول SOLID Introduction to SOLID principles

  • س - اصل مسئولیت واحد - نظریه S - Single Responsibility Principle - theory

  • S - اصل مسئولیت واحد - کد و بازسازی S - Single Responsibility Principle - code & refactoring

  • س - اصل مسئولیت واحد - تشخیص مسئولیت واحد S - Single Responsibility Principle - Recognizing single responsibility

  • S - اصل مسئولیت واحد - یک دلیل برای تغییر S - Single Responsibility Principle - One reason to change

  • س - اصل مسئولیت واحد S - Single Responsibility Principle

  • انواع انتزاعی Abstract types

  • O - اصل باز-بسته - نظریه O - Open-closed Principle - theory

  • O - اصل باز-بسته - کد O - Open-closed Principle - code

  • O - اصل باز-بسته - refactoring O - Open-closed Principle - refactoring

  • O - اصل باز-بسته - محدودیت ها - مکانیسم تعویض O - Open-closed Principle - limitations - toggle mechanism

  • O - اصل باز-بسته - محدودیت ها - نمی تواند همه تغییرات را پیش بینی کند O - Open-closed Principle - limitations - can’t predict all the changes

  • O - اصل باز-بسته - محدودیت ها - عملی بودن O - Open-closed Principle - limitations - practicality

  • O - اصل باز-بسته O - Open-closed Principle

  • L - اصل جایگزینی لیسکوف - نظریه L - Liskov Substitution Principle - theory

  • L - اصل جایگزینی Liskov - نقض رابط L - Liskov Substitution Principle - violation of the interface

  • L - اصل جایگزینی Liskov - نقض رابط - refactoring L - Liskov Substitution Principle - violation of the interface - refactoring

  • L - اصل جایگزینی Liskov - تغییر نوع زمان اجرا L - Liskov Substitution Principle - runtime type switching

  • L - اصل جایگزینی Liskov - سوئیچینگ نوع زمان اجرا - refactoring L - Liskov Substitution Principle - runtime type switching - refactoring

  • L - اصل جایگزینی Liskov - شرط برای نوع فرعی تقویت شده است L - Liskov Substitution Principle - condition strengthened for subtype

  • L - اصل جایگزینی Liskov - شرط تقویت شده برای subtype - refac. L - Liskov Substitution Principle - condition strengthened for subtype - refac.

  • L - اصل جایگزینی لیسکوف L - Liskov Substitution Principle

  • I - اصل تفکیک رابط - نظریه I - Interface Segregation Principle - theory

  • I - اصل جداسازی رابط - کد I - Interface Segregation Principle - code

  • I - اصل جداسازی رابط - refactoring I - Interface Segregation Principle - refactoring

  • I - اصل تفکیک رابط - استدلال I - Interface Segregation Principle - reasoning

  • I - اصل جداسازی رابط I - Interface Segregation Principle

  • د - اصل وارونگی وابستگی - نظریه D - Dependency Inversion Principle - theory

  • د - اصل وارونگی وابستگی - رابطه با تزریق وابستگی D - Dependency Inversion Principle - relationship with Dependency Injection

  • د - اصل وارونگی وابستگی - ایجاد وابستگی پویا D - Dependency Inversion Principle - dynamic dependency creation

  • د - اصل وارونگی وابستگی - کد و بازسازی D - Dependency Inversion Principle - code & refactoring

  • د - اصل وارونگی وابستگی D - Dependency Inversion Principle

  • مطالعه موردی بازسازی مجدد: اصول جامد - کد Refactoring case study: SOLID principles - code

  • مطالعه موردی بازسازی مجدد: اصول جامد - بخش 1 Refactoring case study: SOLID principles - part 1

  • مطالعه موردی بازسازی مجدد: اصول جامد - بخش 2 Refactoring case study: SOLID principles - part 2

روش های استاتیک Static methods

  • چه زمانی روش ها را ثابت کنیم؟ روش های خصوصی When to make methods static? Private methods

  • خطر ایستا کردن روش های عمومی The risk of making public methods static

  • چه زمانی روش ها را ثابت کنیم؟ روش های عمومی When to make methods static? Public methods

  • پنهان کردن نمودار وابستگی Obscuring the dependency graph

  • پنهان کردن نمودار وابستگی - چرا بد است؟ Obscuring the dependency graph - why is it bad?

  • نمودار وابستگی شفاف Transparent dependency graph

  • روش های استاتیک Static methods

کلاس ها - کوچکتر کردن آنها Classes - making them smaller

  • مزایای کلاس های کوچک ضدالگوی کلاس خدا Benefits of small classes. God class antipattern

  • همه کلاس های بزرگ بد نیستند Not all large classes are bad

  • کوچک‌تر کردن کلاس‌ها - شیوه‌های بد Making classes smaller - bad practices

  • کوچک‌تر کردن کلاس‌ها - شیوه‌های خوب - نام‌گذاری Making classes smaller - good practices - names

  • کوچک‌تر کردن کلاس‌ها - شیوه‌های خوب - استفاده از داده و وابستگی‌ها Making classes smaller - good practices - data usage & dependencies

  • کوچک‌تر کردن کلاس‌ها - شیوه‌های خوب - تغییرات مکرر در یک حوزه Making classes smaller - good practices - frequent changes in one area

  • کوچک‌تر کردن کلاس‌ها - شیوه‌های خوب - سطوح چندگانه انتزاع Making classes smaller - good practices - multiple levels of abstraction

  • آیا می توانیم کلاس های زیادی داشته باشیم؟ Can we have too many classes?

  • اندازه کلاس ها The size of classes

  • Refactoring مطالعه موردی: کوچکتر کردن کلاسها - کد Refactoring case study: Making classes smaller - code

  • مطالعه موردی بازسازی مجدد: کوچکتر کردن کلاسها - قسمت 1 Refactoring case study: Making classes smaller - part 1

  • مطالعه موردی بازسازی مجدد: کوچکتر کردن کلاسها - قسمت 2 Refactoring case study: Making classes smaller - part 2

  • مطالعه موردی بازسازی مجدد: کوچکتر کردن کلاسها - قسمت 3 Refactoring case study: Making classes smaller - part 3

کلاس ها - طراحی و قالب بندی Classes - design & formatting

  • ترتیب اعضای کلاس Order of class members

  • یک کلاس، یک فایل One class, one file

  • ساختار پوشه در پروژه ها Folder structure within projects

  • سازگاری Consistency

  • جفت شدن Coupling

  • بازسازی کد برای دستیابی به اتصال شل Refactoring the code to achieve loose coupling

  • شناسایی و رفع کوپلینگ محکم Identifying and fixing tight coupling

  • طراحی و قالب بندی کلاس Class design & formatting

  • قانون دمتر Law of Demeter

  • انسجام Cohesion

  • DRY - خودت را تکرار نکن - تکرار منطق تجاری DRY - Don’t Repeat Yourself - repeating business logic

  • DRY - خودت را تکرار نکن - تکرار کد DRY - Don’t Repeat Yourself - repeating code

  • DRY - خودتان را تکرار نکنید - زمانی که تکرار کد مشکلی ندارد DRY - Don’t Repeat Yourself - when it’s OK to repeat the code

  • اجتناب از BDUF (طراحی بزرگ در جلو). یاگنی Avoiding BDUF (Big Design Up Front). YAGNI

  • KISS (ساده نگه دار، احمقانه) KISS (Keep It Simple, Stupid)

  • اصول طراحی کلاس Class design principles

  • مطالعه موردی Refactoring: کلاس ها - طراحی و قالب بندی - کد Refactoring case study: Classes - design & formatting - code

  • مطالعه موردی بازسازی مجدد: کلاس ها - طراحی و قالب بندی - قسمت 1 Refactoring case study: Classes - design & formatting - part 1

  • مطالعه موردی بازسازی مجدد: کلاس ها - طراحی و قالب بندی - قسمت 2 Refactoring case study: Classes - design & formatting - part 2

  • مطالعه موردی بازسازی مجدد: کلاس ها - طراحی و قالب بندی - قسمت 3 Refactoring case study: Classes - design & formatting - part 3

طبقات - ارث Classes - inheritance

  • ترکیب بر ارث Composition over inheritance

  • مسائل ارث The issues of inheritance

  • جایگزینی وراثت با ترکیب Replacing inheritance with composition

  • مزایای ترکیب The benefits of composition

  • ارث Inheritance

نظرات Comments

  • نظرات Comments

  • بدترین نظرات The worst comments

  • نظرات منطقی The reasonable comments

  • نظرات Comments

  • Refactoring مطالعه موردی Refactoring case study

تست های تمیز و تست پذیری Clean tests & testability

  • واحد تست های اصولی Unit tests fundamentals

  • اصول را به سخره می گیرد Mocks fundamentals

  • اهمیت آزمون های واحد The importance of unit tests

  • چگونه تست واحد بر کیفیت کد تأثیر می گذارد - شبکه ایمنی How unit testing affects code quality - safety net

  • چگونه تست واحد بر کیفیت کد تأثیر می گذارد - طراحی بهتر How unit testing affects code quality - better design

  • چگونه تست واحد بر کیفیت کد تأثیر می گذارد - توسعه تست محور (TDD) How unit testing affects code quality - Test-Driven Development (TDD)

  • اهمیت تست های تمیز The importance of clean tests

  • خوانایی تست ها Tests readability

  • روش های خوب برای نوشتن تست های تمیز Good practices for writing clean tests

  • تست و کیفیت Tests & quality

  • مشکلات آزمون پذیری - روش های ایستا Testability pitfalls - static methods

  • مشکلات تست پذیری - شکستن اصل وارونگی وابستگی Testability pitfalls - breaking the Dependency Inversion Principle

  • مشکلات تست پذیری - عدم استفاده از Dependency Injection Testability pitfalls - not using Dependency Injection

  • مشکلات آزمایش پذیری - سازنده کار واقعی انجام می دهد Testability pitfalls - constructor does real work

  • ساده نگه داشتن سازنده ها Keeping constructors simple

  • آزمایش پذیری Testability

  • مطالعه موردی Refactoring: تست های پاک و تست پذیری - کد Refactoring case study: Clean tests & testability - code

  • مطالعه موردی بازسازی مجدد: تست‌های پاک و قابلیت آزمایش - نظرات Refactoring case study: Clean tests & testability - comments

  • مطالعه موردی Refactoring: تست های تمیز و آزمایش پذیری - آزمون ها Refactoring case study: Clean tests & testability - tests

بخش پاداش Bonus section

  • سخنرانی پاداش Bonus lecture

نمایش نظرات

آموزش Masterclass Ultimate Clean Code برای سال 2025
جزییات دوره
13.5 hours
165
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
466
4.9 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Krystyna Ślusarczyk Krystyna Ślusarczyk

برنامه نویس با علاقه به تدریس