C++ Course: C++ Clean Code


Learn how to write clean and efficient C++ code. The "C++ Clean Code" course teaches you principles such as SOLID and the C++ Core Guidelines for improving code quality and maintainability.

Participants will learn

  • understand and apply the various clean code acronyms such as DRY
  • incorporate various patterns such as RAII into your code to safely manage resources
  • keep your projects up-to-date, maintainable and extensible through constant cleaning

Duration

3 days

Prerequisites

Developers of C++ based systems. A good knowledge of the C++.

Course Description

The C++ programming language not only offers high-level abstractions but also low-level access to the hardware. The enormous range leads to a complexity that can be daunting, especially for less experienced programmers.

A proven strategy to overcome this complexity is to look at best practices. Such rule sets offer help in overcoming hurdles and becoming productive more quickly.

The training is based on the C++ Core Guidelines, which are developed by the leading C++ experts worldwide. The guidelines help beginners to master the first challenges with C++ more quickly. They enable advanced users to quickly grasp new programming concepts and implement programs correctly by design.

Course Outline

  • Key Principles
  • Best Practices
    • C++ Core Guidelines
    • Dependencies on Special Member Functions
    • Polymorphic Class
    • Slicing
    • Operator overloading
    • Abstract classes
    • Resource management
    • Smart pointers
    • Placeholder data type auto: Always get the right data type
    • Uniform initialization
    • Performance
    • Templates and generic programming
  • Patterns and idioms
    • Inheritance vs. Composition
    • Proxy
    • RAII
    • Bridge pattern
    • Adapter pattern
    • Observer- Pattern
    • Singleton
    • Strategy Pattern
    • State Pattern
    • Runtime vs. Compile-time polymorphism
    • Curiously Recurring Template Pattern

Curious about how my C++ courses work?

Would you like to get a better idea of me and my teaching style in advance? Then I invite you to watch this excerpt from a recording of a one-hour online workshop.

Included in this course are

  • A color PDF handout, which includes all references and an acronyms list.
  • The source code for the exercises as well as sample solutions for all exercises as a ZIP-file.
  • Certificate of attendance.
  • A complimentary copy of one of my books.
Notebook C++: Tips and Tricks with Templates
Notebook C++: About move semantics
Programming with C++20

What you can expect from my training courses.

My motto is "Write unique code." I like to reduce the code to the necessary parts. Duplication can be done using templates or functions so that, in the end, each individual piece of code clearly contributes to the code base. Only the unique code reduces maintenance. It gives you more time to focus on your next customer needs.

In order to write unique code in practice, all training courses have a high practical component. Impulses and presentations complement practical exercises. In any case, my sessions are very interactive. I like to hear what the participants think to give the right tips. This creates a training experience in which each participant learns something new and achieves their learning success. The training components build on each other didactically and in terms of content. And I answer questions at any time.

The live demo parts are an essential part of my lessons. I use the following two tools there:

Request course now

Not the right course?

You have not found the right training course or would like a modification? I would be happy to create a training course for your needs. Simply contact me with your request: Contact now

Looking for a course in German? I offer all my classes in German as well.