Skip to content
UdemyC#Paid courseAll LevelsCertificate

Master the Art of Writing Clean Code in C# (Udemy.com)

Learn how to write clean and maintainable code in C# as bequeathed by Uncle Bob. Learn how to perform refactoring in C#.

Created by: Engineer Spock

Last updated July 2020

icon
What you will learn

  • Give best names for functions, variables and other API members
  • Understand and rely on programming metaprinciples such as DRY, YAGNI, KISS and others
  • Write clean functions
  • Detect common architectural smells and refactor the problems
  • Apply principles of functional programming
  • Apply Dependency Injection and avoid common DI-related smells
  • Write clean unit tests
  • Practice Test-Driven Development

How it compares

Against the other 194 rated Udemy courses in C# on CourseDuck:

  • Rating4.5 out of 5higher than 58% of them
  • Reviews1,231#62 of 195 by number of reviews
  • Length7.2 hourslonger than 59% of them
  • Last updatedJuly 2020earlier than 61% of them

icon
Course Description

Learn how to design and implement types in C# so that the other developers won't hate you when using one of the types developed by you. It means you are going to learn how to write code of the high quality: readable, understandable and reliable.

Improve your knowledge in object-oriented programming in the context of clean coding and building types of high quality.

  • Learn how to give the best names for API members 
  • Learn all the tricks related to writing clean functions
  • Avoid common architectural smells. Get rid of unpleasant smells
  • Apply principles of functional programming: achieve immutability, remove side effects, extend types
  • Avoid smells related to dependency injection
  • Write cleaner unit tests
  • Practice Test-Driven Development

Foundations of building object-oriented infrastructures

Despite the fact that C# is a very rich on features language, it's very common to see poorly designed and implemented types in a real world. In fact, C# is one of the richest on features language among object-oriented languages in the world nowadays. But with great power comes great responsibility. It's challenging  to use all those features in a right way.

You probably have already heard the following well-known statement: most code sucks. Well, this course is all about how to produce code which doesn't suck.

Owning skills of producing a well-designed and well-implemented types is the prerequisite for the other developers to treat you as a real professional.

Content and Overview

This course is aimed at all the C# developers, from beginners to seniors. Topics which are covered in the course are relevant for all kinds of C# developers since all developers design and implement APIs. The topics complexity is very different. There are plenty of very simple topics, and at the same time, there are topics which require from you a solid C# background. There are plenty of code examples throughout this course, so you will learn both theoretical and practical material.

The course covers the following topics:

  • Meta Principles: DRY, KISS, YAGNI, SoC, CQS, PoLA, Encapsulation
  • How to give better names for API members and what naming conventions exist in the .NET platform and suited for C#
  • Common problems encountered by C# developers in the process of designing and implementing APIs: classes vs structures, creational patterns vs constructors,  poor naming, excessively long methods, output parameters and so on.
  • Common Architectural Design Smells such as Primitive Obsession, Hidden Dependencies, Violation of Law of Demeter and other.
  • Functional Programming: immutability, temporal coupling, pipelining, extending IDisposable, Builder Design Pattern, abusing extension methods, dealing with errors
  • DI-related anti-patterns: control freak, hidden dependencies, temporal coupling, ambient context, facade service, bastard injection, cyclic dependencies
  • Clean Unit Tests: singletons and static classes, excessive number of interfaces, testing trivial code, testing of a single concern, different best practices
  • Practicing TDD: definition, 3 laws, parsing roman numerals, continuous testing, implementing Tic-Tac-Toe

The list is far from being complete. The course covers a great number of topics. Enroll and start Mastering the Art of Writing Clean Code in C#!

------------------------------------------------------------

Keywords related to the course:

  • C# Clean Code
  • C# Best Practices
  • API in C#
  • Building API in C#
  • Clean Code in C# tutorial
  • Refactoring

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Engineer Spock

I'm thankful enough for that I love what I do.

I began my career as a postgraduate student participating in Microsoft ImagineCup contest.

I've been working with .NET platform since 2003. I've been professionally architecting and implementing software for nearly 7 years, primarily based on .NET platform. I'm passionate about building rich and powerful applications using modern technologies. I'm a certified specialist in Windows Applications and Service Communication Applications by Microsoft. I'm one of the coordinators of the MSK.NET User Group in Moscow.

"If it's work, we try to do less. If it's art, we try to do more." - Seth Godin.

What I can say is that software is my art.

icon
More courses by Engineer Spock

$64.99

$74.99

$11.99

$11.99

$69.99

$11.99

icon
More C# courses

$84.99

$13.99

$64.99

$19.99

$12.99

$84.99

icon
Reviews

4.5

1,231 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By CESAR VICENTE LOBO SANCHEZ on 8/21/2026

Este curso de Clean Code en C# es muy educativo y proporciona una base sólida para comprender la importancia de escribir código de calidad. Explica los fundamentos, principios y buenas prácticas que permiten desarrollar software más legible, organizado y fácil de mantener. También enseña patrones y técnicas de diseño que ayudan a reducir la complejidad del código y a mejorar su estructura. Los conceptos presentados facilitan la colaboración entre desarrolladores y el mantenimiento de proyectos a largo plazo. Además, promueve la creación de soluciones más escalables y menos propensas a errores. En general, el curso brinda herramientas prácticas para mejorar la calidad del código y adoptar una mentalidad orientada a las buenas prácticas de desarrollo profesional.

By Udemy_20 - on 8/14/2024

L'écoute du speaker est agréable pour l'écoute prolongée, et le contenu est riche tout en étant facilement compréhensible. Le sujet étant vaste, la structuration est importante et l'auteur a parfaitement architecturé son contenu.

By Zhi Hong Chong on 2/25/2024

Honestly, this course is pretty awesome. It taught all the necessarily concept that needed for a beginner or somewhat a intermediate programmer to understand how to write maintainable code.

By Junaid Ahamed Gulam Mohiedeen on 8/18/2023

Apart from the language, which I find a little bit difficult to understand in some places (but overall it's good considering that the tutor is a non-native speaker!), the course is great. you'd absolutely find it interesting/surprising to learn the Functional programming section, as you might have already come across some of it during your development and would not have given much of thought!

By AJW van Mil on 7/27/2023

It's good in the sense it reviews things not in the regular C# text books. Considering the content and topics I see it more like a reference than a learning course. Still I prefer books a lot more than videos. All in all good as a reminder on best practices!

By Mauro Gioberti on 7/4/2021

It was nice, much more than I expected, I'm currently thinking to take another course of Engeneer Spock, he teaches very well keep always getting the point of the real goal. It's helped me a lot to improve myself as a developer.

By Jose Zamorano on 6/29/2021

Deep theoretical knowledge. The explanations are really good and the real world refactoring exercises helped me a lot to visualize how to proceed when trying to identify code smells. The TDD exercise with the tic tac toe game was simply great!

By Anonymized User on 3/14/2021

When the description mentioned uncle bob, I was expecting it to be presented by uncle bob. He's obviously very good at programming. And aims to make code read like well written prose. However, English is not his first language; what appears to be well written prose to him isn't as well written for native-speakers

By Kamal Desai on 1/11/2020

Course if very informative but two things I am disappointed about are 1. Many videos are blur and can't see the code / slide's text 2. it could be better if first few sections covers practical code example for better understanding

By Artem Volkov on 11/17/2019

A nice course with a deep explanation of many important principles of writing clean code. Personally, not all topics were helpful for me, as I don't strive to become a .NET developer and programmer at all. Nonetheless, this course helped me to realize and correct my usual mistakes. Thank you.

Showing all 10 reviews on CourseDuck

Read all 1,231 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100