2016-05-23 7 views
2

Wenn mein Projekt hat wirklich große Code-Struktur, wo fast überall verschiedene Datentypen, ob es sinnvoll ist, viele Arten (meist statisch, z. B. Strukturen) von Daten in einem einzigen Header zu speichern?Organisation von statischen Datentypen (Strukturen)

MyGameDataTypes.h zum Beispiel. Wo ich erklärte die FCAT, FDog, FElephant, etc ...

struct FCat 
{ 
     ... // much properties here 
}; 

struct FDog 
{ 
     ... // much properties here 
}; 

struct FElephant 
{ 
     ... // much properties here 
}; 

/// AND MUCH MORE 

Oder für beste Weise, die ich jeden Kopf individuell für jeden meiner Struktur erstellen müssen?

Cat.h wo struct FCat

Dog.h wo struct FDog

Elephant.h wo struct FElephant

etc ...

Oder gibt es bessere Möglichkeiten und diese oben ist Unsinn?

Antwort

1

Sie können mehrere Strukturen in derselben .h-Datei schreiben und haben nur eine Datei für alle Ihre Tierstruktur. Zum Beispiel könnte eine animals.h Datei FCatFDog und FElephant enthalten. Das Wichtigste ist eine Kohärenz in Ihrem Code. Alle Tiere an einem Ort zu strukturieren ist kohärent, ein Tier, ein Auto und eine Gebäudestruktur in der gleichen Datei möglicherweise nicht.

Vielleicht ist es schon der Fall, aber Sie sollten Ihre Header-Dateien vor der multiplen Aufnahme like that schützen.

+0

Header ist vor mehrfacher Aufnahme in jede Datei mit der Anweisung "#pragma once" geschützt. Okay, das ist Tiere, aber wenn alle Datenstrukturen keine explizite Kategorie hat? Was muss ich auf diese Weise tun? Außerdem erscheinen neue Datentypen häufig im Code. – Broly

+1

Es sollte eine Verbindung zwischen Ihren Datenstrukturen geben. Wenn dies nicht das ist, was sie darstellen, könnte es sein, wie sie verwendet werden. Wenn Sie zum Beispiel "struct A" und "struct B" immer zusammen verwenden. Oder wenn 'struct A',' struct B' und 'struct C' ein Teil von' struct D' sind, könnten sie in derselben Datei sein. – Olivier

+0

Ich denke, das ist richtig, aber es ist eine Frage der globalen Code-Organisation. Gibt es Gründe, fast Datentypen in einem Header als "Typbibliothek" zu speichern? Oder finden Sie einen Weg, um alle Datentypen näher an die Geschäftslogik zu stopfen? Oder etwas anderes? Ich denke, alles hat seinen Platz, und Typen müssen in der Typbibliothek platziert werden, aber vielleicht ist es falsch und hat Fallstricke. Zum Beispiel vollständige Neukompilierung des Projekts. Aber vielleicht kann es auch vernachlässigt werden. – Broly