2010-10-31 23 views
5

Esto siempre me ha pinchado con C y C++:C++: ¿Hay alguna manera de evitar la redundancia con el cambio de declaraciones largas?

En mi archivo de cabecera que tengo algo así como:

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

Ahora, si quiero cambiar eso por alguna razón, tengo que hacerlo en tanto el encabezado como el archivo fuente; eso es molesto en mi opinión.

¿Hay una manera de automatizar esto?

Estoy usando Visual Studio 2010

+2

Es posible que desee considerar que tienen menos de 'W',' 'H' y bpp 'y más de' someOtherLongStuff'. –

+0

Aunque algunas herramientas pueden ayudarlo con eso, es un modismo básico de C y C++ separar las declaraciones de las implementaciones por una buena razón. Si crees que es molesto prueba java, quédate con C++. –

Respuesta

0

No con el estudio visual estándar. Creo que necesitas una herramienta de refactorización como Resharper, pero no estoy seguro de que funcione para C++. Refactorizar para C++ es un problema muy serio. Mi mejor opción sería simplemente seguir la declaración con Ctrl + clic en el nombre y cambiar en ambos lados.

+2

ReSharper no es compatible con C++. – delnan

2

no sé de un acceso directo para esto, pero incluso si existe uno que no se puede dar tanto de ahorro como usted se imagina. Si está cambiando el archivo de encabezado, probablemente haya muchos otros lugares que se verán afectados por el cambio (el cuerpo del método, otro código de aplicación que incluya este encabezado, el código de su cliente si lo envía como una biblioteca, pruebas de unidades, etc.) así que tener que cambiarlo en dos lugares es solo la punta del iceberg.

2

creo que lo tengo corriendo con Visual Assist de Wholetomato. Es comercial, pero que podría darle una oportunidad ...

C++ fue hace mucho tiempo - al menos para mí :)

+2

La asistencia visual definitivamente automatiza esto. También te permite crear una definición a partir de la declaración (y viceversa, creo) que es muy útil. –

Cuestiones relacionadas