2011-01-12 15 views
7

así que he estado trabajando en un proyecto relativamente grande por mí mismo, y me he dado cuenta de que algunos de los nombres de las variables anteriormente en .. eran menos que ideal.forma más segura de cambiar los nombres de variables en un proyecto

Pero, ¿cómo se pueden cambiar fácilmente los nombres de las variables en un proyecto? ¿Existe alguna herramienta que pueda pasar por un directorio de proyecto, analizar todos los archivos y luego reemplazar los nombres de las variables por el deseado? Tiene que ser lo suficientemente inteligente como para entender el lenguaje que imagino.

Estaba pensando en usar las herramientas regexp (sed/awk en linux?) Para simplemente reemplazar el nombre de la variable, pero hubo muchas ocasiones en las que mi variable particular también se incluye como parte de las cadenas.

También está la cuestión de cambiar cosas en un espacio de nombres de C++, porque en realidad hay dos clases en mi proyecto que comparten el mismo nombre, pero están en diferentes espacios de nombres.

recuerdo visual studio ser capaz de hacer esto, pero lo que es la forma más segura y más elegante de hacer esto en Linux?

Respuesta

5

más segura (de forma no automatizada) forma:

  1. Asegúrese de que todo su trabajo las pruebas unitarias.
  2. Guarde todo en control de fuente.
  3. sustituir de forma global var con XXXvarXXX (en serio)
    a. O tal vez solo los archivos que crees que necesitan edición.
  4. Prueba y compila. Todo lo que no se compila es fácil de deshacer, simplemente elimina el XXX.
  5. Cuando se compila, ejecuta las pruebas unitarias.
  6. Cuando las pruebas de la unidad funcionan. Realice una sustitución global de XXXvarXXX por el nuevo nombre.
  7. Asegúrese de que las pruebas unitarias siguen trabajando
  8. Guardar todo en control de código fuente.

Lengua solo medio en la mejilla. :-)

+3

No muerda. –

6

Se llama refactorización, pero no recuerdo si hay una gran manera de hacerlo en C++, creo que tal vez Eclipse C++ lo tenía; podría valer la pena echarle un vistazo.

+2

Eclipse sí lo tiene, y funciona maravillosamente. – Dawson

+0

@Toolbox: ¡Genial, gracias por verificar! +1 :) – Mehrdad

+2

Eclipse CDT lo tiene. QtCreator lo tiene. Visual Studio lo tiene. Visual Assist X para Visual Studio lo hace aún mejor. Vim lo tiene. Tienes el punto. –

1

Recuerdo visual stuio ser capaz de hacer esto, pero ¿cuál es la forma más segura y elegante de hacerlo en Linux?

Puede hacer más o menos lo que solía hacer en visual studio en Eclipse usando las herramientas de refaccionamiento, que está disponible para Linux.

0

sé C# y Visual Studio tiene un gran cambiador variable, pero funciona a través de todos los documentos no estoy seguro. Sé que cuando cambias una variable en C#, aparece al lado del texto Variable. Change All

Sin embargo es posible que se pegan con la única opción. Cambie las variables y vea donde el compilador sale mal. Sin embargo no es ideal, pero puede ser su única opción

+0

Está bastante lejos de ser ideal en realidad. Podrías toparte con lugares que en silencio eligen otra variable debido al alcance. Por lo menos, corrí un grep y TRATE de separarlos a todos. –

+0

sí, podrías hacer un script de shell. Estoy seguro de que dije 'no' ideal –

0

utilizar variables privadas, renombrar la variable y los usos obvios, corregir los errores del compilador.

Cuestiones relacionadas