Skip to content
UdemyC#Paid courseAll LevelsCertificate

C# Anti-Patterns: A List Of Programming Practices To Avoid (Udemy.com)

This course will teach you many bad programming practices that every professional developer must know, but never use

Created by: Mark Farragher

Last updated May 2026

icon
What you will learn

  • Learn to identify many common anti-patterns
  • How to abuse the .NET type system
  • The curse of the Swiss-Army Knife
  • Use the YAGNI principle to remove Crystal Balls
  • Real-life bad coding practices from actual code reviews
  • The "Assume the Worst" principle
  • Why is "Pattern Love" a bad thing?
  • Incorrect use of Exceptions
  • ... and much more!

How it compares

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

  • Rating4.3 out of 5higher than 26% of them
  • Reviews363#97 of 195 by number of reviews
  • Length2.9 hoursshorter than 78% of them
  • Last updatedMay 2026more recently than 86% of them

icon
Course Description

BEST COURSE CHOICE for beginners and intermediate C# developers who want to take their programming skills to the next level.

Code reviews sometimes expose truly terrible code - mangled object hierarchies, judicious use of Parse and ToString, flow-control logic using Exceptions, and "reinvented wheel" classes littered with bugs.

In fact the same bad code tends to crop up over and over, which is why we call them "Anti-Patterns".

Anti-patterns are common responses to a recurring problem that are ineffective and highly counterproductive.

In a series of short lectures I am going to show you the most common C# anti-patterns. I will introduce each anti-pattern, show you why the pattern is bad, and how you can refactor the code to resolve the problem.

Why should you take this course?

You should take this course if you are a beginner or intermediate C# developer and want to take your skills to the next level. A thorough understanding of all common anti-patterns will help you enormously in your understanding of C# and the .NET Framework.

Or you might be working in a developer team and about to perform your first code review. The examples in this course will help you spot bad code quickly, and give you an idea what senior developers like to see at when they review code.

Or maybe you're preparing for a C# related job interview? This course will give you an excellent foundation to answer any questions about code quality they might throw at you.

Act now

This course contains over 3 hours of video content. Enroll now to benefit from the current price and get lifelong free access to all future materials.

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

Mark Farragher

Mark Farragher is a blogger, investor, serial entrepreneur, and the author of 12 successful IT courses on Udemy and other marketplaces. His career spans over two decades during which Mark has been a Founder twice and CTO three times, and has launched two lean startups in The Netherlands.

Mark became a Microsoft Certified Trainer in 2005 and started training classes in .NET development, web design, and Microsoft back-office servers. Today he uses his extensive knowledge of IT to help CTO’s, architects, and other tech professionals with their leadership, communication, and technical skills.

Mark has MCSA and MCSD certifications from Microsoft and is a certified Microsoft Trainer and Scrum master. He speaks fluent English, Dutch, and German.

icon
More courses by Mark Farragher

$16.99

$12.99

$14.99

$14.99

$13.99

$59.99

icon
More C# courses

$84.99

$13.99

$64.99

$19.99

$12.99

$84.99

icon
Reviews

4.3

363 ratings on Udemy

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

By Andrew Korell on 5/1/2021

I'm an experienced programmer. This was a good review and helped put words to good practices that were more instinctual than thought-out. There are some really valueable insites for the experienced programmer who is beginning to support the careers of younger programmers. I thinks important to learn how to guide without stifling. Marks is very good at describing the honest intent behind anti-patterns. That's an important component to a good senior engineer.

By Joshua Howard on 4/17/2021

I am one of those people who love to ask why and the Instructor answered that to the fullest extent. The content is really good and enjoyed the perspective. However, I think the pace was set too slow, there is often unnatural pausing that made me question if the video had stopped streaming and the 5 rules were repeated more than they should have been. I think the repetition was due to not fully planning section 2 & 3's content because section 4 seemed to resolve this.

By Mohamed Atef on 6/20/2019

Things that are good: Seeing design problems and their solution. Things that needs to be improved: The first section seems to be related to issue that faces people coming from c to c# and not actual c# design problems, it would be more useful if it is replaced by c# related topics. The code is not available for download in most of the topics (e.g. crystall ball). There is no actual real life code example in many topics, just the concept (e.g. assume the worst)

By Tommi Korhonen on 11/10/2017

I like the professionalism, and years of experience on these techniques. It is not exceptional hidden wisdom, but solid understanding of different programming techniques. Finally ends up a bit short, experienced programmers know these pitfalls, although they are exceptionally clearly explained. I would have wanted more of the same, with additional programming failures to analyse.

By Jean-Marie Prevost on 10/19/2017

Decent course, but the delivery is rather painful. It's slow, dry, monotone and the teacher makes these constant pauses in every sentence he says. Like. He was. Speaking. Like. A strange... Robot. Some of the anti-patterns were really narrowly targetted stuff which I found a bit strange, and others had examples that didn't match their explanations, e.g. the Crystal Ball being writing code that anticipates everything, yet the example was code that was reused and reused when it shouldn't have. It was still alright, just not the best.

By Kyle Hoffmann-Barrett on 1/26/2017

A good course to be sure, I am not a developer by trade which means I miss the feedback loop on a lot of my projects. This gave me good insight into some of the mechanics of that. The anti-patterns were good to learn, and I will be aware of them going forward. My only criticisms are: The information could be condensed, I watched it all at 2x speed. And the instructor often repeats. Some of the content is more applicable to someone reviewing the code of a developer who has defensive code practices from other languages and is importing them into c#. I feel like the instructor could split the course into: What you need to know when migrating from c to c# Antipatterns in c# And then perhaps add more content to each. The course is great, and valuable. Take it if you can.

By Hyrum Zitting on 2/24/2016

The information presented is very good. However, I do have some issues with this course. Each lecture repeats everything multiple times. This course moves very slowly for the information that is given. I would rather see more examples of each anti-pattern rather than have the constant repeating of information throughout the lecture. Its an online course, if I don't completely understand the content of the lecture I will watch it again. Also, set the speed to at least 1.5 or you will shoot yourself. Mark was quick to respond to discussion. Overall the course was worth taking.

By Oliver Yu on 12/30/2015

Mark Farragher is a great teacher and for the coupon he offered existing students, this course is a no-brainer purchase. In fact, I bought 2 other of Mark's courses because his videos are quite informative and immediately applicable. This course on anti-patterns, I thought, was more a review of bad code than what I was expecting to be super common bad programming practices. The part on Pattern Love and Crystal Ball was more close to what I was expecting, but your perspective may be different. I'm basically a self-taught programmer and so a lot of Mark's fundamentals (in his other courses) are useful to me. As someone with no formal CS background and made his way into shipping code, these anti-patterns were avoidable since I never encountered these bad practices as examples to use.

By Vaclav Elias on 12/28/2015

This is a very nice walk-through about anti-patterns in c# with comprehensive explanations. I enjoyed all the parts but realised that this specific course would be very beneficial for any team leader to understand background of thinking of some developers and actually help them and manage to get the code right. I am not sure if those parts of the course would serve to some beginners, it might be just too much information how c++ works. I don't know how old this course is but I wish there was a follow course with simply focusing more on plain c#. The author explains all so well so it would be great to learn even more on this subject.

By Niels Maerten on 8/12/2015

I found this to be a great course to increase my awareness of programming-missteps might commit without even realizing =) I've been using the course as a guide to review some of my older projects. After each lecture, I'll skim my code for that particular anti-pattern. Result: I discovered enough spaghetti to feed an Italian football team, but my new code is much easier to refactor ;-)

Showing all 10 reviews on CourseDuck

Read all 363 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 : 86 / 100