technifyed

CodeSignal via edX

Refactoring Techniques in C++

Overview

This course path teaches developers to enhance challenging codebases with safe, incremental changes. It covers dependency breaking, refactoring, and characterization testing to modernize existing systems while maintaining functionality.

What you'll learn

  • Apply sprout and wrap techniques to introduce changes safely
  • Identify functional, object, and preprocessor seams in C++ code
  • Break tightly coupled dependencies using interfaces and dependency injection
  • Refactor existing systems incrementally while preserving behavior
  • Create characterization tests that document current functionality
  • Increase test coverage to support safer code changes
  • Improve the maintainability, testability, and extensibility of C++ codebases

Skills you'll practise

C++ (Programming Language)Code CoverageDependency Injection

Advantages and disadvantages

Advantages

  • University courses you can audit for free, with lectures, readings and practice quizzes.
  • A verified certificate from the university if you pay for it.
  • Self-paced: start any time.

Disadvantages

  • Graded assignments and the certificate need the paid track.
  • Audit access can expire a few weeks after the course ends.
  • Learning is free, but the certificate costs money.
  • Some parts (graded work, certificate) are paid.

Some points apply to every course of this kind; see how we rank.

Free to audit

  • Free: Choose "Audit this course" when you enrol: lectures, readings and practice are free.
  • Paid: Graded assignments and the verified certificate (Certificate $75). Audit access may end after the course closes.

Before you start

Intermediate: Computer Systems and Architecture (C++, GoogleTest, Moq) Intermediate: Software Development Practices (C++, GoogleTest, Moq)

Similar courses

Compare these

Massachusetts Institute of Technology · YouTube

MIT 6.01SC Introduction to EECS I

Instructor: Dennis Freeman, Kendra Pugh This course provides an integrated introduction to electrical engineering and computer science, including modern software engineering, linear systems analysis, electronic circuits, and decision-making. The lecture videos provide an overview of each topic, whi…

Free video27 videos, 17 hours

Harvard University · edX

Fundamentals of TinyML

4.567 ratings

Focusing on the basics of machine learning and embedded systems, such as smartphones, this course will introduce you to the “language” of TinyML.

Free to audit5 weeks, 2 - 4 hours per week

Harvard University · edX

Introduction to Data Science with Python

4.3174 ratings

Learn the concepts and techniques that make up the foundation of data science and machine learning.

Free to audit8 weeks, 3 - 5 hours per week

Harvard University · edX

CS50's Introduction to Computer Science

An introduction to the intellectual enterprises of computer science and the art of programming.

Free to audit12 weeks, 5 - 14 hours per week

Harvard University · edX

Data Science: Building Machine Learning Models

4.4133 ratings

Build a movie recommendation system and learn the science behind one of the most popular and successful data science techniques.

Free to audit8 weeks, 2 - 3 hours per week

Harvard University · edX

CS50's Introduction to Programming with Python

An introduction to programming using Python, a popular language for general-purpose programming, data science, web programming, and more.

Free to audit10 weeks, 3 - 6 hours per week

Enter your email and the official page opens. Phone is optional.