English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 90 Lessons (4h 7m) | 894 MB
Learn how to write elegant C# using modern Clean Code practices
“Clean Code” is one of the most used phrases in software engineering but is also one of the most misused. What does Clean Code mean, and what makes our code dirty or clean? The concept was popularized by Robert C. Martin or “Uncle Bob”, and it is a set of practices that will help you write code that is easier to change, read and understand and less prone to mistakes or issues when it comes time to change or expand it. In this course, Gui Ferreira will teach you everything you need to know to start writing excellent C# code using the knowledge he gained after years of writing clean code professionally for big companies.
Table of Contents
1 Welcome
2 What will you learn in this course
3 Who is the course for and prerequisites
4 Why Clean Code is essential
5 The Boy Scout Rule
6 The Broken Windows Theory
7 The YAGNI principle
8 The KISS principle
9 The Principle of Least Surprise
10 What is Coupling
11 What is Cohesion
12 Readability vs Performance
13 Spotting Duplication
14 Writing Idiomatic code
15 Section Recap
16 Introduction
17 The impact of Naming
18 How long should a Name be
19 Naming Variables
20 Naming Booleans
21 Naming Methods
22 Naming Classes
23 Using Acronyms and Abbreviations
24 Section Recap (2)
25 Introduction (2)
26 Good and Bad Comments
27 Removing Historic Comments
28 Converting Comments to Code
29 Removing Formatting Comments
30 Replacing Comments with Tests
31 Section Recap (3)
32 Introduction (3)
33 Applying Indentation
34 Using Braces
35 Using Whitespace
36 Vertically Ordering a Class
37 Section Recap (4)
38 Introduction (4)
39 Writing Boolean Comparisons
40 Removing Double Negatives
41 Avoiding short-circuits
42 Avoiding Magic Numbers
43 Expressive Switch Statements
44 Section Recap (5)
45 Introduction (5)
46 Removing Nesting
47 Returning early
48 Using Guard Clauses
49 Applying the Single Responsibility Principle
50 Removing Flag Arguments
51 Parameter Order
52 Controlling the number of Parameters
53 Output Parameters
54 Working with collections
55 Section Recap (6)
56 Introduction
57 Exceptions vs Error Codes
58 Writing the Try-Catch block
59 Providing Context with Exceptions
60 Section Recap
61 Introduction (2)
62 Applying the Single Responsibility Principle
63 Segregating Interface
64 Writing Constructors
65 Removing Nested Classes
66 Converting anemic to rich objects
67 Primitive Obsession
68 Section Recap (2)
69 Introduction (3)
70 The Problem of Nulls
71 Creating Null Objects
72 Rewriting Null Returns
73 Section Recap (3)
74 Introduction (4)
75 The importance of Tests to Clean Code
76 Writing better assertions
77 Using the Act, Arrange, Assert structure
78 Replacing Mocks with real Objects
79 Using Test Data Builders
80 Using realistic test data
81 Section Recap (4)
82 Introduction (5)
83 Measuring code complexity
84 Using refactoring tools
85 Applying Standards with an editorconfig
86 Using a Spell Checker
87 Enforcing Code Quality
88 Section Recap (5)
89 Refactoring Walkthrough
90 Conclusion
Resolve the captcha to access the links!