Überblick - Aktuelles - Lesehinweise

Top1 Doxygen - Generierung der SW-Dokumentation aus dem Quellcode

Doxygen ist ein Freeware-Tool zur automatischen Dokumentation von Programmquellcode. Es werden verschiedene Programmiersprachen unterstützt (z.B. C++, C#, PHP, Java,...).

Ansatz 1: Doxygen extrahiert relevante Informationen aus der Quellcodebasis
Doxygen kann dazu verwendet werden, um Strukturinformationen aus den Quellen (Klassenmember, Klassenbeziehungen, Includeabhängigkeiten,...) automatisch in die SW-Dokumentation zu übernehmen und dort neben textuellen Beschreibungen auch entsprechende Diagramme zu erzeugen. Darüberhinaus können speziell formatierte Kommentare aus dem Quellcode in die Dokumentation übernommen werden.

Ansatz 2: Entwickler selektiert gezielt zu übernehmende Quellcode-Schnipsel
Häufig werden mit Ansatz 1 erzeugte Dokumentationen zu umfangreich. Neben der wichtigen Information wird auch weniger wichtiges mit aufgenommen. Es ist jedoch der umgekehrte Ansatz machbar: Der Entwickler erstellt die einzelnen Seiten der Dokumentation explizit (z.B. in der einfachen Markdown-Syntax) und wählt gezielt die Code-Abschnitte aus, die in die Dokumentation aufgenommen werden sollen.
Weitere Informationen
Installation von Doxygen, Konfiguration für Ansatz 1 und 2
Anleitung zur Umsetzung des Ansatzes 2 (Beispiel einer HowTo-Dokumentation mit DoxyGen generiert)

Top2 Programmierung mit C++

Top2.1 C++11 - neue Features

Allgemein
Überblick über die wichtigsten neuen Features: einfache Erweiterungen, enum class, range based for loop, auto, bind, lambda, Klassendesign, neue Libraries, Containers, Algorithmen, RValues, Move-Semantik

Verwaltung von Ressourcen
Smart pointer: unique_ptr, shared_ptr, weak_ptr

Multithreading
Running multiple threads: thread, promise/future, async, packaged_task
Safe access to shared data: recursive_mutex, lock_guard, unique_lock, lock, call_once, atomic
Wait and signal: condition_variable

Top2.2 PugiXml - Bibliothek zum Lesen, Schreiben, Durchsuchen von XML-Daten

PugiXml (HowTo-Dokumentation mit DoxyGen generiert)

Top2.3 Automatisierte Unit-Tests

Grundlagen (inkl. Realisierungen)
Typische Probleme und Lösungsansätze
Verifikation von Testergebnissen
Erstellen von simulierten Objekten
Konkrete Anwendungsfälle
Automatische Überprüfung ausgewählter Daten in einem XML-Baum
Einsatz der TestToolBox (TTB) innerhalb einer Boost.Test Applikation

Top3 SW-Entwicklung allgemein

Top3.1 Pragmatische SW-Architektur

Berücksichtigung zukünftiger anforderungen in der SW-Architektur: Bewertung von Anforderungen (Kano, Effort-Impact), Vorbereitung einer SW-Architektur auf Änderungen (expressive modularization, Design by contract (DbC), Separation of concerns, Layering, Konfigurierbarkeit, open/cosed principle), Umsetzung von Änderungen (Unterscheidung zwischen Refactoring/Reengineering/Rewriting, Testgetriebene Entwicklung (TDD))

Top4 Sonstiges

Top4.1 Web-Technologien - HTML5, jQuery, SVG, SSE, AJAX

Die nachfolgenden Elementar-Beispiele basieren auf HTML und Javascript.

HTML5: new controls, SVG (scalable vector graphics), Canvas (drawing from script), SSE (Server-sent events)

jQuery (freie JavaScript-Bibliothek zur DOM-Navigation/Manipulation): Animation und dynamische Änderung von HTML-Elementen, AJAX (Asynchronous JavaScript and XML)

Top4.2 Windows PowerShell

Powershell: Configuration, debugging, script syntax, code snippets, complete samples