Course Highlights
  • Learn how to write code which is readable and understandable
  • Keep code alive by increasing maintainability with clean code
  • Learn about key principles, rules and concepts that allow you to write clean code
  • Learn with hands-on examples and "bad to good code" transformations
Curriculum

12 Topics
Welcome to the Course!
What is "Clean Code"?
Clean Code - Key Pain Points & How To Write Clean Code
How Is This Course Structured?
Course Prerequisites
Clean Code & Strongly Typed Languages
About The Course Code Examples
Join Our Learning Community!
Functional OOP Procedural: The Course Concepts Always Apply!
Clean Code Principles & Patterns & Clean Architecture
Clean Code vs Quick Code
Module & Course Resources

16 Topics
Module Introduction
Why Good Names Matter
Choosing Good Names
Casing Conventions & Programming Languages
Naming Variables & Properties - Theory
Naming Variables & Properties - Examples
Naming Functions & Methods - Theory
Naming Functions & Methods - Examples
Naming Classes - Theory
Naming Classes - Examples
Exceptions You Should Be Aware Of
Common Errors & Pitfalls
Demo Time!
Your Challenge - Problem
Your Challenge - Solution
Module Resources

10 Topics
Module Introduction
Bad Comments
Good Comments
What is "Code Formatting" Really About?
Vertical Formatting
Formatting: Language-specific Considerations
Horizontal Formatting
Your Challenge - Problem
Your Challenge - Solution
Module Resources

20 Topics
Module Introduction
Analyzing Key Function Parts
Keep The Number Of Parameters Low!
Refactoring Function Parameters - Ideas & Concepts
When One Parameter Is Just Right
Two Parameters & When To Refactor
Dealing With Too Many Values
Functions With A Dynamic Number Of Parameters
Beware Of "Output Parameters"
Functions Should Be Small & Do One Thing!
Why "Levels of Abstraction" Matter
When Should You Split?
Demo & Challenge
Stay DRY - Don't Repeat Yourself
Splitting Functions To Stay DRY
Don't Overdo It - Avoid Useless Extractions
Understanding & Avoiding (Unexpected) Side Effects
Side Effects - A Challenge
Why Unit Tests Matter & Help A Lot!
Module Resources

17 Topics
Module Introduction
Useful Concepts - An Overview
Introducing "Guards"
Guards In Action
Extracting Control Structures & Preferring Positive Phrasing
Extracting Control Structures Into Functions
Writing Clean Functions With Control Structures
Inverting Conditional Logic
Embrace Errors & Error Handling
Creating More Error Guards
Extracting Validation Code
Error Handling Is One Thing!
Using Factory Functions & Polymorphism
Working with Default Parameters
Avoid "Magic Numbers & Strings"
Module Summary
Module Resources

15 Topics
Module Introduction
Important: This is NOT an OOP or "Patterns & Principles" Course!
Objects vs Data Containers / Data Structures
Why The Differentiation Matters
Classes & Polymorphism
Classes Should Be Small!
Understanding "Cohesion"
The "Law Of Demeter" And Why You Should "Tell Not Ask"
The SOLID Principles
The Single-Responsibility-Principle (SRP) & Why It Matters
The Open-Closed Principle (OCP) & Why It Matters
The Liskov Substitution Principle
The Interface Segregation Principle
The Dependency Inversion Principle
Module Resources

1 Topic
Concepts Summary & Checklist

4 Topics
Staying Clean!
Possible Next Steps
Course Roundup
Bonus!

  Write a Review

Clean Code

Go to Paid Course