Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

1

04.08.2008, 20:40

[Meinungsbild]Includes in Headerdateien-top oder flop?

63%

Sie sind schick/praktisch/einfach gut (31)

8%

Sie sind unübersichtlich/unschön (4)

14%

Sie sind praktisch aber verwirrend (7)

14%

Eigentlich egal wie es gemacht ist (7)

Hi,

ich will eigentlich nur ein Meinungbild und keine Grundsatzdiskussionen. Darum kurz Meinung abgeben ggf. mit Begründung. Vorallem würde mich die Meinung von Neulingen und Leuten aus großen Projekten sehr interessieren. Danke :)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Anonymous

unregistriert

2

04.08.2008, 20:51

Schick, praktisch, gut.

Aber niemals ein using namespace in einem Header schreiben!!

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

3

04.08.2008, 21:27

Gibt es Leute die das nicht verwenden? Das hab ich wirklich noch nie gesehen.

Ich sehe eigentlich keinen Grund der dagegen spricht. Verwendet man im Header z.B. std::string, so sollte man dort auch <string> includen. Wo das Verwirrung erzeugt erschließt sich mir wirklich nicht.

PS: Nur in Ausnahmefällen benutze ich lieber Vorwärtsdeklarationen, z.B. wenn ich eine Klasse für die Implementierung des Moduls benötige aber nicht für das Interface. Dann muss ich auch nicht die komplette Header Datei zu der Klasse includen.

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

04.08.2008, 22:05

In meinem aktuellen Projekt haben wir das problem, dass


#ifdef _DEBUG
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
#define new new(_NORMAL_BLOCK, __FILE__, __LINE__)
#endif

sich nicht mit den stl Klassen (und einigen anderen Dateien) verträgt. Wenn man dies aber erst in die cpp packt, so werden die memleaks die in headerdateien erzeugt werden (z.b. durch template-methoden), nicht gescheit angezeigt. Daher haben wir aktuell die includes alle in die cpps gepackt. Ist manchmal ein ganzschöner Block, aber man sieht auch sofort was man überhaupt braucht.
Und da frage ich mich, wie das in anderen Projekten ausschaut. (nur bei meinem aktuellen gibt es atm glaube ich keine andere Möglichkeit wegen besagten new-Problem, oder man müsste die new Aufrufe in den Headern entsprechend mit einem Define umbiegen).
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

5

04.08.2008, 22:23

Ich vermeide es wenns geht um die Kompilierzeit zu verkürzen. Gerade bei einem größeren Projekt ists halt schon sehr nervig, wenn er immer wieder fast alles Neukompiliert, nur weil in einem Header was verändert wurde.
Aber an sich ist nichts dagegen einzuwenden find ich, kann auch unter Umständen sehr praktisch sein.

6

04.08.2008, 23:33

Hmm schonmal was vom Header <iofwd> gehört? :P
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Anonymous

unregistriert

7

05.08.2008, 00:13

Sie sind sowas von egal wenn man nicht im Team arbeitet und absprechen muss.

rklaffehn

Treue Seele

Beiträge: 267

Wohnort: Braunschweig

  • Private Nachricht senden

8

05.08.2008, 07:03

Meine Devise ist da immer:

"Soviel wie nötig, so wenig wie möglich."

Das gilt besonders für große Projekte, in denen die Compile-Zeit ein wesentlicher Faktor ist. Außerdem ist ein Refactoring hinterher leichter, weil man einfach mal einen Header entfernen kann, ohne dass gleich alles nicht mehr compiliert.

Bei kleinen Projekten, die man im Alleingang programmiert, ist das allerdings wirklich nicht so wichtig, aber früh übt sich, wer ein Meister sein will. ;)
God is real... unless declared integer.
http://www.boincstats.com/signature/user_967277_banner.gif

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

9

05.08.2008, 09:44

Zitat von »"rklaffehn"«

Meine Devise ist da immer:

"Soviel wie nötig, so wenig wie möglich."



dem schliesse ich mich an, nach dem prinzip verwalte ich auch meine includes. auch das einzige was ein nogo ist sind using-namespace-direktiven in headern.

Baltin

Frischling

Beiträge: 34

Wohnort: Alpen NRW

Beruf: Soldat

  • Private Nachricht senden

10

05.08.2008, 10:25

Finde Includes in Header sehr übersichtlicht und nutze das auch gerne. Für mich allein ist das auch gut so, aber wie das in größeren Projekten aussieht weiss ich nicht und kann ich mir auch gerade mal nicht vorstellen ob man das dann da anders machen muss, soll???

Gruss
Baltin
Verdammt............... Wo fehlt denn nu diese doofe Klammer????

Werbeanzeige