Free Course

Hands On Refactoring

Learn to improve an existing application in place.

32 lessons5 hoursEN & ES subtitles

About this course

Refactoring is the art of taking an existing piece of code and making it better without breaking what it was intended to do. All codebases have messy code, outdated code, and code that works but could be better. This course teaches you how to improve that code in place without major disruptions to your application.

Every lesson, in the open

32 lessons · 5 hours of video. Here's exactly what's inside.

Code ReviewUnderstand where you are at before starting to make changes.
  1. 1
    Course Introduction 1 lesson · 4 min
    • Introduction 4:21
  2. 2
    The Challenge 3 lessons · 10 min
    • Introduction 1:04
    • Code Handoff 3:18
    • Refactoring Challenge 6:09
  3. 3
    Understanding an Unknown Codebase 4 lessons · 1h 16m
    • Introduction 1:31
    • Reviewing the Code 8:06
    • Understanding the Parts 49:50
    • Getting it Running 16:37
  4. 4
    Developing a Plan 5 lessons · 34 min
    • Introduction 0:41
    • Identifying the Issues 16:07
    • Prioritizing the Changes 9:32
    • Creating an Order of Attack 5:01
    • Preparing the App 2:29
Back-End RefactoringLearn how to refactor your backend systems first.
  1. 5
    API Refactoring 5 lessons · 56 min
    • Introduction 0:25
    • Dependency Cleanup 20:44
    • Endpoint Organization 14:50
    • Endpoint Logic Improvement 12:49
    • Address Nullability 7:24
  2. 6
    Database Refactoring 3 lessons · 13 min
    • Introduction 0:20
    • Project Organization 4:45
    • Table Updates 8:27
Front-End RefactoringRefactor the front-end and those issues that affect the entire stack.
  1. 7
    Blazor WebAssembly Refactoring 7 lessons · 1h 12m
    • Introduction 0:35
    • Clean Up Unused Files 2:15
    • ToDo Logic Separation 6:55
    • List Logic Separation 4:42
    • Upload Logic Separation 29:42
    • Upload Logic Separation 6:10
    • Address Nullability 21:41
  2. 8
    Cross-Cutting Concerns 3 lessons · 43 min
    • Introduction 1:04
    • Video Field Rename 24:04
    • Remove IsUploaded Flag 17:41
  3. 9
    Course Conclusion 1 lesson · 6 min
    • Conclusion 5:52
Tim Corey

Hi, I'm Tim Corey.

I learned software development the hard way, with lots of dead-ends, confusion, and knowledge gaps. I kept thinking, “It shouldn't be this hard!” Now I teach students how to think and code like professional developers. My goal is to make it easier for you to become a developer.

25+ Years experience
400,000+ Students taught
400+ Hours of training
10x Microsoft MVP

Frequently asked questions

When does this course start and finish?
The course starts now and never ends! It is a completely self-paced online course; you decide when you start and when you finish.
How long do I have to access the course?
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like; across any and all devices you own.