Trainings
- C++ quality programming for C developers
- C++ is still an important programming language, especially when speed of execution, reliability and efficiency are important
- C++ is available in different standards: C++98, C++03, C++11, C++14, C++17, C++20.
- However the complexity of the language is exceptionally high
- How to program reliable C/C++ software?
- Which features of the language quickly enhance your productivity
- C++ pitfalls and common errors
- Ensure portability
- Reasonable performance tuning
- Coding guidelines / style guides
- Training will be tailored to your needs
- Example content:
- classes and class hierarchies
- namespaces
- initializer_list
- templates
- C++ standard library
- containers and iterators
- std::vector, std::map ...
- C++03, C++11, C++14, C++17
- efficient sorting
- algorithms
- memory management and memory leaks
- exceptions
- smart pointers
- streams
- unit tests with cppunit
- C++ debugging and profiling tools
- Boost library
- floating-point environment
- multi threading support
- regular expressions
- random
- When software quality is vital: MISRA C++ programming standard
for safety critical systems
- MISRA C and C++ were designed for the automotive industry, but are now also used in other areas
- programming guidelines consisting of rules and recommended procedures. They are designed to avoid software errors, or at least detect them early
- Bad source code / software quality leads to ...
- defects
- accidents
- recalls of products
- damage to the company’s reputation
- law suits
- Productivity of software developers is lower ...
- they spend more time locating software bugs
- projects are late
- source code is not portable
- source code is difficult to understand and has unexpected side effects
- MISRA rules form the core of other well-known coding standards, e.g. HighIntegrity C++, SEI CERT C and CERT C++, AdaptiveAutosar C++14 ruleset
- Also several international standards refer to MISRA, e.g. ISO 26262 (automotive)
- There are now several versions of the MISRA standards for C und C++:
- MISRA C:1998 for ISO:C90
- MISRA C:2004: (enhancements)
- MISRA C:2012 for ISO:C99
- MISRA C++:2008 for C++03
- MISRA C++:2020 for C++17
- Important for you: sufficient training of the project team members and the court-proof organization of development processes!