Clean Code with Modern C++
- Code:
- 16
- Location:
- Online seminar / face-to-face seminar
Description
Duration
- 5 * 1/2 day or 3 * 1 day
Accompanying literature
- Each participant gets one of my digital or printed books.
Method
- Theory and praxis with many exercises. You get the source code and the solutions to the exercises.
- You need a computer with at least a C++11 compiler.
Objectives
- Learn the safe usage of modern C++.
- Write modern C++ code by using the proven guidelines.
Standard
- C++11/14/17 standard
Content
Key principles
- Understand what are the ideas of KISS, YAGNI, DRY, and SOLID.
Best practices for software development
The C++ Core Guidelines provides rules for essential aspects of modern software development:
- Philosophy
- Interfaces
- Functions
- Classes and class hierarchies
- Enumerations
- Resource management
- Expressions and statements
- Performance
- Concurrency
- Error Handling
- Constants and Immutability
- Templates and Generic Programming
- C-Style programming
- The standard library
Patterns and Idioms
- Inheritance versus Composition
- Proxy
- Resource Acquisition Is Initialization (RAII)
- Factory method
- Singleton
- Run- versus compile-time Polymorphism
- Curiously Recurring Template Pattern (CRTP)
Testing
- Test hierarchy
- Characteristics of good unit tests
- Unit tests
- Test-Driven Development (TDD)
Refactoring
- Key ideas
- Code smells
- Tool support
Tool support
- Important online compiler
- Sanitizers
- Compiler Explorer
- C++ Insights
- Guidelines Support Library
Conditions of participation:
The general terms and conditions are found in the GT&C.