Beautiful C++ 17: Updating Legacy Code
If you maintain an old large codebase, there's a good chance you don't understand parts of it. This course will show you how to update code to a more readable, understandable, and maintainable state by taking full advantage of modern C++ techniques.
What you'll learn
C++ has been a popular programming language for decades, which means there’s some really old code out there. Some of it is very hard to read and maintain. Capabilities have been added to the language and standard library that could simplify this code, and possibly make it faster or eliminate nagging intermittent bugs. In this course, Beautiful C++: Updating Legacy Code, you’ll learn how to approach a large and unfamiliar codebase and make changes to modernize code. First, you'll learn some strategies for deciding exactly what to change. Then, you'll be introduced to language features and library capabilities that may not have existed when your code was first written, and can make it better now. Finally, you'll discover how to evaluate your progress and spread your gains through the rest of the code. By the end of this course, you'll be prepared for your code to last another generation or two and take full advantage of what modern C++ has to offer.
Table of contents
- Introduction 1m
- What Not to Do First 3m
- What Parts Need Attention? 2m
- Leaving a Breadcrumb 3m
- Tidy as You Go 1m
- Being Less Worried About Changes 3m
- Know the Risks 4m
- I Don't Have Time to Clean This Up! 6m
- Let Tools Help You 3m
- Specific Changes to Make 3m
- Do You Need to Freeze? 2m
- Do You Need to Change Your Ways? 2m
- Summary 2m
- Introduction 1m
- Compiling Really Old Code 2m
- Demo: String Warnings 2m
- Loop Scope 2m
- New Keywords 2m
- Turn up the Warning Level 3m
- Demo: Warning Level 7m
- You Might Find Bugs 3m
- The Preprocessor 2m
- Is This Macro Really a Function? 3m
- Names for Numbers 1m
- Demo: Macros 14m
- Wrap Code in Housekeeping 3m
- Demo: Timing with Lambdas 4m
- Summary 1m
- Introduction 1m
- What Makes C++ C++? 4m
- While You're Looking at That Function 2m
- Spotting Classes 3m
- Demo: Creating Classes 9m
- Cleanup and Housekeeping Code 4m
- Demo: RAII 8m
- Make It Noncopyable 4m
- RAII Benefits 2m
- Similar Functions or Checks 3m
- Const Correctness 4m
- Don't Typedef Structs 2m
- Proper Casts 1m
- Summary 2m