Code Refactoring for .NET

We look at the approaches and methods for improving source code readability in C#. You’ll practice refactoring of small programs, focusing on various aspects of improving the existing code.
  • duration 24 hours
  • Language English
  • format Online
duration
24 hours
location
Online
Language
English
Code
DEV-006_NET
price
€ 550 *

Available sessions

To be determined



Training for 7-8 or more people?
Customize trainings for your specific needs

Description

Have you ever encountered source code is difficult to read? Where you spend a lot of time trying to understand what the developer wanted to express in that particular code fragment.

In this training we’ll show you how to not become that developer. You will learn about code smells, why and where they appear, and what techniques are used to remove them. We’ll start from simple problems in a single function and end with problems of communication between classes. We will also discuss what should and what should not be done to make your code easy to read.
After completing the course, a certificate is issued on the Luxoft Training form

Objectives

  • Provide an overview of code smells
  • Best practices for improving the readability of existing code
  • How to identify problems in C# program code
  • How to improve readability of C# source code

Target Audience

  • C# developers with 1 to 2 years of experience

Prerequisites

  • General basic knowledge of programming
  • Basic knowledge of script languages
  • Understanding code logic flows

Roadmap

Refactoring
  • Introduction
  • The notion of refactoring, purpose of refactoring
  • Test-driven development

Code smells
  • Overview
  • Definition of code smell
  • Good design principles
  • Code smells in tests, smells in databases (overview)
  • Smells in architecture, smells in personnel management

Common problems in code
  • Organizing data
  • Fields
  • Data arrays
  • References and values
  • Code fields
  • Simplifying conditional expressions
  • Simplifying method calls
  • Dealing with generalization
  • Composing methods

Smells inside a class
  • Easily discovered problems
  • Names
  • Excessive complexity
  • Duplication
  • Conditional logic

Moving features between objects
  • Single responsibility principle
  • Cohesion
  • The Law of Demeter
  • Moving methods/fields
  • Extracting a class
  • Inline class
  • Hiding delegates
  • Remove middle man
  • Extension methods

Problems in communication between classes
  • Data. Inheritance
  • Responsibility
  • Adopting changes
  • Library classes

Discover more about professional growth and skills development

contact us