Programmierstil?
-
Hi Leute!
Habe mich jetzt etwa 2 Jahre einigermaßen mit C++ beschäftigt. Ein Kumpel und ich haben jetzt ein größeres Projekt vor, welches wir in WinAPI schreiben möchten. Wir haben jedoch schnell festgestellt, das so eine cpp datei ganz schnell groß und unübersichtlich werden kann.
Ich habe mir mal ein paar Quellcodes von Open Source Programmen gesaugt. Die Projekte bestehen meistens aus etwa 10 .cpp und .h Dateien. An sich würde ich das Programm auch gerne in mehrere .cpp und .h dateien aufteilen, nur wie macht man das eigentlich genau? Gibt es da bestimmte Regeln für, das Ordentlich und strukturiert unterzubringen?Also ich würde auf jedenfall Klassendeklarationen in eigene Dateien Packen.
Habt ihr sonst noch vorschläge?Danke im voraus.
Gruß Perner
-
Erstmall, Programmierstil ist eine Geschmackssache. Das wird oft anders gehandhabt, wichtig ist, das ihr beide euch an die selben Regeln haltet.
Ein kleines Beispiel, wie man es machen könnte:game.hpp
// Includeguards #ifndef GAME #define GAME // Game groß schreiben class Game{ public: // methoden klein: void play(); // Konstruktor Game(int players); private: // Attribute: Bennennung ist Geschmackssache, z.B. m_ für member int m_players; }; #endif // GAME
game.cpp
#include "game.hpp" void Game::play() { // .... } Game::Game(int players) :m_players(players) { // .... }
Und dann eben noch die Hauptfunktion (Oder ne Klasse wo du die andere Klasse brauchst) wo du die .hpp datei einbindest.
Im Klartext du erstellst ne eigene .hpp für jede Klasse und ne eigene .cpp für die methoden der Klasse. Das bindest du dann ein wo du´s brauchst. Wenn du mit funktionen arbeitest, schreibst du die prototypen in die .hpp und die Funktionen selbst in die .cpp. Die Objekte schreibste dann noch klein.
-
Hier findest du alles zur Programmierung (wirklich) grosser Projekte in C++:
Large-scale C++ Software Design | ISBN: 0201633620mfg JJ
<edit=kingruedi>hab mal isbn-Tags benutzt</edit>
-
John Doe schrieb:
Hier findest du alles zur Programmierung (wirklich) grosser Projekte in C++:
Large-scale C++ Software Design | ISBN: 0201633620Aber Achtung: Einige Dinge in dem Buch sind mittlerweile veraltet bzw. nicht mehr gültig. Gute C++ Kentnisse sind also Voraussetzung.