2010-10-11 6 views
17

Es un buen estilo para ordenar los métodos en los archivos de encabezado en el mismo orden que en el archivo .cpp, pero a menudo esta orden se vuelve cruda durante el desarrollo.¿Cómo clasifico automáticamente los métodos por encabezado?

¿Cómo puedo reordenar los métodos en el archivo cpp al orden dado en el archivo de encabezado?

+0

Suena como un trabajo para un embellecedor de código. ¿En qué plataforma estás, Windows o Unix? – wheaties

+3

Creo que estás sudando las cosas * realmente * pequeñas. –

+0

estoy trabajando en Linux, pero también puedo usar Windows. Y, por supuesto, es algo muy pequeño pero agradable de tener que aumenta la legibilidad del código. – Gerrit

Respuesta

1

He encontrado que es efectivo usar una herramienta gráfica de diferencias para mostrar el encabezado y el archivo fuente uno al lado del otro para mantener la documentación sincronizada y asegurarse de que todo esté en el mismo orden. (Mi empleador me compró Araxis Merge, así que eso es lo que uso, pero hay una variedad de herramientas gratuitas y comerciales que logran lo mismo en una variedad de plataformas).

Esto podría ser más fácil con un procedimiento C o C++ archivo, a diferencia de un archivo C++ orientado a objetos donde las funciones miembro de clase tendrían un nivel de sangría diferente en el encabezado que en el archivo fuente.

0
The headline says: sort methods in cpp file by header 
The body says: sort methods in header files in the same order as in the cpp file 

¿No es eso contradictorio? :-)

Si bien es posible editar el encabezado o los archivos fuente ya sea por alguna herramienta o manualmente, en la vida real, es muy difícil hacer cumplir/mantener ese orden.

Mi enfoque es "ver" los nombres de los métodos en orden alfabético. Eso se puede lograr ejecutando doxygen en los archivos. En el archivo de configuración Doxygen, las siguientes dos opciones podrían ser útiles

SORT_MEMBER_DOCS = YES 
SORT_BRIEF_DOCS = YES 
0

Se puede utilizar un modelador (como Umbrello) para modelar sus clases y generar el código apropiado.

Cuestiones relacionadas