Enterprise Architect
Posted by graineri on 2008-10-15 12:31
Creo que los tres somos poseedores del Enterprise Architech, si hacemos primero el o los diagramas de clases, con todos los comentarios para cada clase, metodo y argumento en formato de texto plano, al ir a Code Generation te crea los .h y los .cpp con todos los comentarios en formato javadoc.
Los unicos detalles son:
1) Todos los atributos empiezan con: m_Clase en el caso de que el atributo este como una agregacion y no este el nombre del atributo en si. Me parece una linda convencion que podriamos tomar ya que la vi en varios lugares y ademas el que los atributos tengan nombres tan feos desalienta el uso de los mismos, lo cual es ideal a la hora de debuggear! ya que cuantos mas atributos, mas variables globales a nivel de clase... siempre que se pueda hay que usar variables locales a los metodos.
2) los #ifdef quedan con un choclo que empieza con EA y termina unos 50 caracteres al azar despues. Particularmente a mi no me molesta eso... Pero si lo quieren cambiar hay que cambiarlo a mano.
3) Cuando genera los metodos del .cpp, si bien los genera muy prolijamente no lo hace muy inteligentemente. Cuando se compile el codigo generado va a tirar errores ya que a los metodos que retornen valores no les pone un "return" con un valor por defecto. Tmpoco agrega el caracter de fin de linea necesario en los archivos cpp lo cual tambien es un error de compilacion, pero son esos dos errores minimos y nada mas.
Yo creo que esta herramienta la podemos usar perfectamente para acelerar mucho la codificacion, pero sobre todo para tener bien definidas las interfaces y asi podemos dividir bien las tareas sabiendo exactamente que hace cada metodo (ya que tenemos el javadoc) y a la hora de juntar todo encajaria perfecto.
Los unicos detalles son:
1) Todos los atributos empiezan con: m_Clase en el caso de que el atributo este como una agregacion y no este el nombre del atributo en si. Me parece una linda convencion que podriamos tomar ya que la vi en varios lugares y ademas el que los atributos tengan nombres tan feos desalienta el uso de los mismos, lo cual es ideal a la hora de debuggear! ya que cuantos mas atributos, mas variables globales a nivel de clase... siempre que se pueda hay que usar variables locales a los metodos.
2) los #ifdef quedan con un choclo que empieza con EA y termina unos 50 caracteres al azar despues. Particularmente a mi no me molesta eso... Pero si lo quieren cambiar hay que cambiarlo a mano.
3) Cuando genera los metodos del .cpp, si bien los genera muy prolijamente no lo hace muy inteligentemente. Cuando se compile el codigo generado va a tirar errores ya que a los metodos que retornen valores no les pone un "return" con un valor por defecto. Tmpoco agrega el caracter de fin de linea necesario en los archivos cpp lo cual tambien es un error de compilacion, pero son esos dos errores minimos y nada mas.
Yo creo que esta herramienta la podemos usar perfectamente para acelerar mucho la codificacion, pero sobre todo para tener bien definidas las interfaces y asi podemos dividir bien las tareas sabiendo exactamente que hace cada metodo (ya que tenemos el javadoc) y a la hora de juntar todo encajaria perfecto.
Home / Developer API / Tour / Get a Project - Solutions for Bug & Issue Tracking, Collaboration Tools, Subversion Hosting, Git Hosting
Taller i is powered by Assembla.
2 Comments
By graineri on 2008-10-15 12:33
2) Estaría bueno usar la convención que usa el Eclipse. Así que, en tal caso los estaríamos cambiando a mano.
3) Bueno, tendremos que corregir las porquerías que genere.
Todo lo que nos ayude, será bienvenido. =)
By and2arana on 2008-10-16 00:03
1) No me gusta demasiado... pero bueno, de última el viernes lo charlamos. ¿Podrías averiguar qué pasa cuando tenés más de un atributo del mismo tipo? (Todavía no me instalé el EA... hoy a la noite con un poco de suerte)
2) No me molesta en lo más mínimo... igual lo podemos cambiar si quieren. Hablando de este tema... ¿Hay alguna forma de templatizar la salida? Por ejemplo, que te ponga algún encabezado en todos los archivos, o que te genere algún tipo de comentarios para "regionalizar" el código, ese tipo de cosas.
3) Oka, cambiaremos lo que sea necesario.