2010-10-31 6 views
5

Dies hat abgehört mich immer mit C und C++:C++: Gibt es eine Möglichkeit, Redundanz zu vermeiden, wenn lange Deklarationen geändert werden?

In meiner Header-Datei habe ich so etwas wie:

bool UpdateWindow(int w, int h, char bpp, bool force, char* someOtherLongStuff) 

Nun, wenn ich, dass aus irgendeinem Grund ändern will, muss ich so tun, in Header und Quelldatei - das ist meiner Meinung nach nervig.

Gibt es eine Möglichkeit, dies zu automatisieren?

Ich verwende Visual Studio 2010

+2

Sie betrachten wünschen können weniger von 'W' ist, 'H' und 'bpp 'und mehr von' someOtherLongStuff'. –

+0

Obwohl einige Tools Ihnen dabei helfen können, ist es ein grundlegendes Idiom von C und C++, Deklarationen aus Implementierungen aus gutem Grund zu trennen. Wenn Sie denken, dass das lästig ist, versuchen Sie Java - krank bleiben mit C++. –

Antwort

0

Nicht mit dem Standard Visual Studio. Ich denke, Sie brauchen ein Refactoring-Tool wie Resharper, aber ich bin mir nicht sicher, ob es für C++ funktioniert. Refactoring für C++ ist ein sehr großes Problem. Mein bestes Bild wäre, einfach der Deklaration mit Strg zu folgen + klicken Sie auf den Namen und ändern Sie auf beiden Seiten.

+2

ReSharper unterstützt C++ nicht. – delnan

2

Ich kenne keine Abkürzung dafür, aber selbst wenn eine existiert, könnte es Ihnen nicht so viel sparen, wie Sie sich vorstellen. Wenn Sie die Header-Datei ändern, sind wahrscheinlich viele andere Bereiche von der Änderung betroffen (der Text der Methode, anderer Anwendungscode, der diesen Header enthält, der Code Ihres Clients, wenn Sie ihn als Bibliothek versenden, Unit-Tests, usw.), so dass es an zwei Stellen ausgetauscht werden muss, ist nur die Spitze des Eisbergs.

2

Ich denke, ich habe es mit Visual Assist von Wholetomato ausgeführt. Es ist kommerziell, aber man könnte es versuchen ...

C++ war vor langer Zeit - zumindest für mich :)

+2

Visual Assist automatisiert dies auf jeden Fall. Es erlaubt Ihnen auch, eine Definition aus der Deklaration zu erstellen (und umgekehrt, denke ich), was sehr praktisch ist. –

Verwandte Themen