C# Refactoring | Powerful code optimization

Introduction to the code refactoring practice in C#
Free tutorial
Rating: 3.8 out of 5 (153 ratings)
7,011 students
1hr 33min of on-demand video
English [Auto]

Get familiar with the main types of code smells. Learn to find them in the code
You can optimize your code, make it clearer, more logical and readable
Learn how to perform the most popular refactorings, their mechanics and step-by-step application in code


  • Be able to read and understand C# code


Do you want to improve your coding skills?

The main tool great software developers use is code refactoring. In this course I will introduce you to the concept of this powerful practice.

If you have a beginner or intermediate level knowledge or even if you have great experience writing code this course would be helpful to you.

During this course you will learn the following:

  • Get familiar with the main types of code smells. Learn to find them in the code

  • You can optimize your code, make it clearer, more logical and readable

  • Learn about the most popular refactorings, get acquainted with their mechanics

  • Learn how to step-by-step apply refactorings in your code

Basic Code Smells

  • complex expressions and computations

  • multiple assignments to a temp variable

  • magic literals in code

  • hard to understand conditions

  • nested if statements logic

  • long method parameter lists

  • complex method bodies

  • classes with mixed responsibilities

What is Refactoring

Code refactoring is the process of changing your existing code so that it becomes more readable and easy to modify in future.

But these changes should preserve the existing functionality. Code refactoring is a continuous process and it is done in small incremental steps.

  • change of existing code

  • preserves functionality

  • continuous process

  • small incremental steps

Refactoring Goals

  • better design

  • reduced complexity

  • readability

  • maintainability

  • improved architecture

Important to Know

If refactoring is done well, it will greatly improve your code.

by simplifying the underlying logic and eliminating unnecessary levels of complexity.

If done poorly it may change functionality or introduce new bugs.


In this course we will discuss in detail the following refactorings:

  • Introduce Explaining Variable

  • Split Temporary Variable

  • Replace With Constant

  • Simplify Condition

  • Split Conditional

  • Combine Conditional

  • Replace Conditional With Guard Clause

  • Introduce Parameter Object

  • Extract Method

  • Extract Interface

  • Extract Class

  • Extract Super Class

Who this course is for:

  • Beginner C# developers who wants to improve their code


Software Development
Max Media
  • 3.8 Instructor Rating
  • 153 Reviews
  • 7,011 Students
  • 1 Course

During the last 15 years, we were developing various software using different programming languages C#, F#, JavaScript, TypeScript, ActionScript, Haxe, Go and so on. As a result, we have gained vast experience in building desktop applications, mobile applications, web services, network software, and games.

We have decided that now is the right moment to share our knowledge and experience with you, to help overcome difficulties in software development and give you an opportunity to improve your skills and do your daily programming job with joy.

Our courses might be helpful not only for beginners, who just started to learn software development but also to intermediate and advanced level developers.

There is no unnecessary information in our lectures, which often added to increase course volume. We understand that you want to save your time and learn quick and start applying your knowledge in practice as fast as possible, so we focus on providing essential information and share knowledge which we use ourselves in our daily work.

Top companies trust Udemy

Get your team access to Udemy's top 16,000+ courses