Ü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