Training: Defensive C++
C++
10 uur
Engels (US)

Training: Defensive C++

Snel navigeren naar:

  • Informatie
  • Inhoud
  • Kenmerken
  • Meer informatie
  • Reviews
  • FAQ

Productinformatie

Hoogwaardig coderen omvat het schrijven van code die duidelijk, begrijpelijk en onderhoudbaar is. Dit betekent dat je code de juiste software-engineeringprincipes moet volgen. Het is daarbij belangrijk om de verschillende soorten fouten die in code kunnen voorkomen, te kennen en ermee om te gaan.

In deze training verken je de belangrijkste principes van software-engineering en leer je hoe de preprocessor, compiler en linker samenkomen om een C++ uitvoerbaar bestand te bouwen. Je leert meer over het vermijden van fatale codeerfouten, het toepassen van defensieve codeertechnieken, en het volgen van best practices. Je zult ook verschillende soorten fouten in code onderzoeken, waaronder compiler-, linker-, runtime- en logische fouten. Je zult de belangrijkste functies verkennen die zijn uitgebracht in C++20, inclusief de reeksenbibliotheek, coroutines, concepten en modules. Vervolgens ontdek je de rol van defensieve programmering, defensief ontwerp en de implementatie van een defensieve barrière in je code. Je leert ook hoe je precondities kunt gebruiken om te controleren op invoer in je code en postcondities om de uiteindelijke resultaten te verifiëren die door je code worden geretourneerd. Vervolgens onderzoek je hoe je het beheer van resources kan automatiseren die expliciet moeten worden verworven en hoe je problemen met resourcebeheer kunt verminderen door middel van de RAII-techniek. Ten slotte onderzoek je de technische specificaties van ontwerp per contract en de rol van de belangrijkste componenten, randvoorwaarden, invarianten en postcondities.

Inhoud van de training

Defensive C++

10 uur

Defensive C++: Software Engineering Principles & Types of Errors

  • Using high-quality code in any programming language involves

  • writing code that is clear, comprehensible, and maintainable. This
  • means that your code needs to follow sound software engineering
  • principles, and it is also important to know and deal with the
  • different kinds of errors that might occur in code. Use this course
  • to explore key principles of software engineering and learn how the
  • preprocessor, compiler, and linker come together to build your C++
  • executable. You will also examine different kinds of errors in
  • code, including compiler, linker, runtime, and logic errors. When
  • you are finished with this course, you will have the skills and
  • ability to implement software engineering principles to write clean
  • and comprehensible code.

Defensive C++: Defensive Programming & Defensive Design

  • While defensive design involves planning for contingencies that

  • might occur in a software development life cycle, defensive
  • programming entails writing code such that it continues to function
  • predictably in the presence of unforeseen circumstances. Through
  • this course, explore the role of defensive programming and
  • defensive design and the implementation of a defensive barrier in
  • your code. You'll investigate various error reporting techniques,
  • recognize scenarios for implementing a technique rather than
  • exceptions, and distinguish between using exceptions and assertions
  • to raise errors. The course will also help you discover how to use
  • preconditions to check for inputs to your code and postconditions
  • to verify the final results returned by your code. At the end of
  • this course, you will have the skills and ability to follow a
  • defensive approach to your software development and use exceptions
  • and assertions to flag preconditions and check for
  • postconditions.

Defensive C++: Writing Defensive C++ Code

  • Writing good, robust, and maintainable C++ code involves

  • understanding the intricacies of the language and avoiding common
  • pitfalls. Use this course to learn more about avoiding fatal coding
  • errors, adopting defensive coding techniques, and following best
  • practices and other code niceties Examine some common coding
  • errors, the correct way to set up constructors in code, and the
  • pitfalls of overriding non-virtual functions. You will also explore
  • object slicing errors, how to cast objects to other types, and the
  • use of smart pointers to manage resources in C++. Finally, you will
  • understand the implications of the static initialization order
  • fiasco in C++ and how you can avoid it. At the end of this course,
  • you will have the knowledge and skills to write robust, defensive
  • C++ code.

Defensive C++: Managing Memory

  • Modern C++ offers the use of smart pointers in the C++ standard

  • library, which uses the resource allocation is initialization
  • (RAII) technique to free programmers from the burden of resource
  • management. Take this course to discover the various pitfalls
  • involved in manually managing memory on the free store in C++.
  • Through this course, you'll explore how to automate the management
  • of resources that need to be explicitly acquired and reduce
  • resource management issues through the RAII technique. When you are
  • finished with this course, you should be able to manage memory and
  • other resources in your C++ code using smart pointers from the
  • standard library.

Defensive C++: Design by Contract & Features in C++

  • Design by contract (DbC) involves two parties, a client and a

  • supplier, collaborating based on mutual obligations and benefits.
  • DbC was intended to be released as a part of the C++ language in
  • C++20, but will now be part of the C++23 release. Use this course
  • to examine the technical specifications of design by contract and
  • the role of its key components - preconditions, invariants, and
  • postconditions. You'll explore the most important features released
  • in C++20, including the ranges library, coroutines, concepts, and
  • modules. You'll also discover the weaknesses in defensive
  • programming and when to implement offensive programming techniques
  • in your code. When you are finished with this course, you will be
  • able to tackle complex projects built using C++ and write code for
  • them using software engineering principles and defensive
  • programming techniques.

Kenmerken

Docent inbegrepen
Bereidt voor op officieel examen
Engels (US)
10 uur
C++
180 dagen online toegang
HBO

Meer informatie

Doelgroep Softwareontwikkelaar, Webontwikkelaar
Voorkennis

Je hebt ten minste basiskennis van programmeren.

Resultaat

Na het afronden van deze training kan jij defensief programmeren met C++.

Positieve reacties van cursisten

Training: Leidinggeven aan de AI transformatie

Nuttige training. Het bestelproces verliep vlot, ik kon direct beginnen.

- Mike van Manen

Onbeperkt Leren Abonnement

Onbeperkt Leren aangeschaft omdat je veel waar voor je geld krijgt. Ik gebruik het nog maar kort, maar eerste indruk is goed.

- Floor van Dijk

Training: Leidinggeven aan de AI transformatie

Al jaren is icttrainingen.nl onze trouwe partner op het gebied van kennisontwikkeling voor onze IT-ers. Wij zijn blij dat wij door het platform van icttrainingen.nl maatwerk en een groot aanbod aan opleidingen kunnen bieden aan ons personeel.

- Loranne, Teamlead bij Inwork

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties