Die C++ Core Guidelines beschreiben Schnittstellen als Vertrag zwischen einem Dienstanbieter und seinen Nutzern. Der Heise-Developer-Beitrag vom 10. Juli 2017 fasst die ersten Regeln der Guideline-Sammlung zusammen, die für die Struktur größerer C++-Projekte relevant sind.
Die offiziellen C++ Core Guidelines empfehlen explizite und präzise Schnittstellen. Dazu gehören stark typisierte Parameter, klar benannte Funktionen sowie dokumentierte Vor- und Nachbedingungen. Globale Variablen und Singleton-Muster sollen dagegen nur in begründeten Ausnahmefällen eingesetzt werden.
Vorbedingungen und Nachbedingungen sichtbar machen
Für Vorbedingungen sieht die Guideline-Sammlung unter anderem Expects vor, für Nachbedingungen Ensures. Solche Angaben machen Annahmen an einer Schnittstelle im Quelltext sichtbar und können von Prüfwerkzeugen ausgewertet werden. Die Guideline Support Library stellt dafür passende Bausteine bereit.
Gerade in großen Codebasen erleichtern klar abgegrenzte Schnittstellen die Zusammenarbeit zwischen einzelnen Modulen. Das gilt auch für Engines, Editorwerkzeuge und Build-Systeme im Spieleumfeld, in denen Rendering, Physik, Audio und Gameplay über viele technische Schichten verbunden werden. Ein älterer Beitrag zu KDevelop, Cppcheck und LLDB beschreibt ergänzende Werkzeuge für die Prüfung und Fehlersuche in C++-Projekten.
C++ als gemeinsame Basis technischer Teams
Die Guidelines sind keine neue Programmiersprache und ersetzen auch keine projektspezifischen Architekturentscheidungen. Sie bündeln Empfehlungen für lesbaren, überprüfbaren und wartbaren C++-Code. Für Spieleentwickler können sie damit eine gemeinsame Grundlage schaffen, wenn mehrere Teams an Engine, Werkzeugen und eigentlichem Spielcode arbeiten.

