Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Master the Art of Writing Clean Code in C#
Meta Principles
Motivation for Writing Clean Code (2:17)
01-Outline (2:17)
02-DRY (9:50)
03-KISS (7:37)
04-YAGNI (11:37)
05-SoC (4:28)
06-CQS (2:14)
07-PoLA (3:03)
08-Encapsulation (19:13)
09-Conclusion (2:41)
Names
01-Outline (1:28)
02-General Principles of Naming (12:46)
03-About Names Once Again (11:01)
04-Violating Naming Conventions (1:29)
05-Naming Conventions in .NET (7:26)
06-Conclusion (1:11)
Writing Clean Functions
01-Outline (1:26)
02-Variable Declarations on the Top (1:04)
03-Magic Numbers (1:31)
04-Stringly Typed Smell (1:08)
05-Property vs Method (6:41)
06-Implementing Parameters (3:20)
07-Too Many Parameters (2:28)
08-Too Long Methods (6:20)
09-Creational Patterns VS Constructors (3:11)
10-Method Extraction (2:40)
11-Simplifying Complex Logic (2:47)
12-Sequence of Arguments (4:17)
13-Guard Clauses and Early Returns (2:27)
14-Poor Conditional Clauses (3:46)
15-Output Parameters (3:00)
16-Comments (3:13)
17-Prefer Positive if-statements (1:02)
18-Conclusion (3:17)
Common Architectural Design Smells
01-Outline (1:10)
02-Primitives Obsession (2:50)
03-Violation of Law of Demeter (6:49)
04-Temporal Coupling (1:36)
05-Switch Statements (5:49)
06-Refactoring to Strategy (3:13)
07-Refactoring to State (7:01)
08-Conclusion (1:37)
Functional Programming - Extendibility and Immutability
01-Outline (2:16)
02-Programming Paradigms (5:00)
03-Defining Functional Programming (3:29)
04-Functions Are Everywhere (2:42)
05-Why Functional Programming (2:30)
06-Immutability (6:59)
07-Immutability of Structs (4:17)
08-Temporal Coupling and Immutability (5:26)
09-Pipelining (1:39)
10-Extending IDisposable (9:08)
11-General Extensions (10:23)
12-Extending StringBuilder (10:36)
13-Primitive Obsession - Abusing Extension Methods (7:49)
14-Builder Design Pattern (9:08)
15-Errors and Functional Programming (2:58)
16-Handling Errors by Methods Chaining (5:35)
17-Conclusion (2:52)
DI-Related Anti-Patterns & Refactorings
01-Outline (1:57)
02-Control Freak (7:22)
03-Hidden Dependencies with Service Locator (4:08)
04-Temporal Coupling and Constructor Injection (1:47)
05-Constructor Over-Injection (4:02)
06-Ambient Context (3:39)
07-Facade Service (2:58)
08-Property Injection vs Bastard Injection (3:34)
09-Cyclic Dependencies (11:34)
10-Conclusion (2:19)
Clean Code and TDD
01-Outline (0:48)
02-What is TDD (5:00)
03-Red Green Refactor (4:16)
04-Three Laws of TDD (1:42)
05-Reading Roman Numerals (12:07)
06-Continuos Testing (3:57)
07-TicTacToe (36:17)
08-Conclusion (1:04)
04-Stringly Typed Smell
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock