C# Refactoring | Powerful code optimization

Introduction to the code refactoring practice in C#
Free tutorial
Rating: 4.1 out of 5 (83 ratings)
5,366 students
English
English [Auto]
C# Refactoring | Powerful code optimization
Free tutorial
Rating: 4.1 out of 5 (83 ratings)
5,366 students
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

Requirements

  • Be able to read and understand C# code

Description

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.


Refactorings

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

Course content

3 sections • 14 lectures • 1h 32m total length
  • Refactoring in C#
    01:54
  • Course Structure and Goals
    02:44

Instructor

Software Development
Max Media
  • 4.1 Instructor Rating
  • 83 Reviews
  • 5,366 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.