Seite 1 von 1
Include what you use
Verfasst: Mi Jan 29, 2014 3:09 pm
von Xin
Ich habe mehrere hundert oder tausend Quellcodes, da kann jedes Include zuviel stören.
Include what you use
Hat jemand mit dem Tool schon Erfahrungen sammeln können?
Re: Include what you use
Verfasst: Mi Jan 29, 2014 4:14 pm
von PairOfOldShoes
Warum stört dich das? Solange man möglichst alles im cpp-File inkludiert finde ich es nicht so schlimm, wenn mal wo ein unnötiges include überbleibt.
PS: bin übrigens neu hier

Re: Include what you use
Verfasst: Mi Jan 29, 2014 4:23 pm
von Xin
PairOfOldShoes hat geschrieben:Warum stört dich das? Solange man möglichst alles im cpp-File inkludiert finde ich es nicht so schlimm, wenn mal wo ein unnötiges include überbleibt.
Weil es unter Umständen eben nicht in einem .cpp ist, sondern in einem .h, das von hunderten anderen Files eingebunden wird und dieses überflüssige .h vielleicht hundert andere Header nach sich zieht.
PairOfOldShoes hat geschrieben:PS: bin übrigens neu hier

Willkommen an Board, Uservorstellungen sind immer gerne gesehen.

Re: Include what you use
Verfasst: Mi Jan 29, 2014 4:42 pm
von PairOfOldShoes
Xin hat geschrieben:PairOfOldShoes hat geschrieben:Warum stört dich das? Solange man möglichst alles im cpp-File inkludiert finde ich es nicht so schlimm, wenn mal wo ein unnötiges include überbleibt.
Weil es unter Umständen eben nicht in einem .cpp ist, sondern in einem .h, das von hunderten anderen Files eingebunden wird und dieses überflüssige .h vielleicht hundert andere Header nach sich zieht.
Überzeugt. Allerdings scheint die Verwendung des genannten Tools etwas umständlich. In Form eines IDE-Plugins könnte ich mir das schon vorstellen.
Xin hat geschrieben:PairOfOldShoes hat geschrieben:PS: bin übrigens neu hier

Willkommen an Board, Uservorstellungen sind immer gerne gesehen.

Bin von der schüchternen Sorte

Re: Include what you use
Verfasst: Mi Jan 29, 2014 7:47 pm
von cloidnerux
Überzeugt. Allerdings scheint die Verwendung des genannten Tools etwas umständlich. In Form eines IDE-Plugins könnte ich mir das schon vorstellen.
Es steht einem nichts im Wege es zu einem IDE Plug-In zu machen.
Zudem haben viele Entwickler Makefiles, da könnte man so eine Überprüfung elegant einbauen.
P.S: Auch ein Willkommen von mir

Re: Include what you use
Verfasst: Do Jan 30, 2014 12:14 pm
von Yoghurt
PairOfOldShoes hat geschrieben:Warum stört dich das? Solange man möglichst alles im cpp-File inkludiert finde ich es nicht so schlimm, wenn mal wo ein unnötiges include überbleibt.
Ich finde es auch in einem Code-File nicht gut. Man sollte schon ein wenig darauf achten "sauber" zu programmieren. Dazu gehören auch solche Dinge.
PairOfOldShoes hat geschrieben:Allerdings scheint die Verwendung des genannten Tools etwas umständlich.
Warum umständlich? Bei dem Beispiel auf der von Xin verlinkten Seite ist es
ein Aufruf des Progamms. Und die Ausgabe finde ich auch sehr sprechend.
Oder störst du dich daran, dass man es auf der Konsole ausführen muss?
Anhand des Beispiels finde ich es recht interessant. Werde ich auf jeden Fall mal testen, wenn ich wieder mal was in C++ schreibe.
PairOfOldShoes hat geschrieben:PS: bin übrigens neu hier

Auch von mir noch: Herzlich willkommen!

Re: Include what you use
Verfasst: Do Jan 30, 2014 1:34 pm
von PairOfOldShoes
Ich arbeite mit Visual Studio. In der Regel bin ich architekturbedingt zum Arbeiten mit mehreren Solutions gleichzeitig gezwungen. Die Code-Files liegen in zig Unterverzeichnissen verteilt. Manuelle Checks mit Kommandozeile kommen dadurch für mich keinesfalls infrage. Wenn dann müsste das automatisch in den Build-Prozess eingearbeitet sein. Dies müsste wiederum so eingebaut sein, dass es problemlos auch für meine Kollegen sowie für den Build-Server funktioniert. Angesichts dessen, dass ich noch nie Probleme mit überflüssigen Includes gehabt habe, erscheint mir das in meiner speziellen Situation mehr als Liebhaberei ohne positive Auswirkung auf Qualität oder Effizienz.
Weiters wäre zu evaluieren, wie gut das Tool eigentlich funktioniert. Beispielsweise müssten Include-Files auf die man keinen Einfluss hat (3rd Party Bibliotheken) ausgenommen werden.