2010-02-14 11 views
8

He visto una gran cantidad de marcos que generan las aplicaciones de código auxiliar, como Ruby on Rails, por ejemplo, donde la mayor parte del código se utiliza para la lógica de dominio de negocio, pero ¿por qué hemos generado código todavía. ¿No sería mejor una biblioteca?¿Por qué todavía necesitamos código generado?

Respuesta

3

Una biblioteca constará de funciones o clases comunes que pueden ser utilizados como es en muchas aplicaciones. Estos marcos incluyen bibliotecas de código.

El código generado se hace cargo de los andamios que se necesita para escribir usted mismo sin tener en cuenta. Como la mayoría es bastante estándar, se puede generar y la intención es modificar las piezas que desee.

+0

El andamio no es lo que yo llamaría código generado, ya que tiene que escribirse de todos modos, como en los rieles. – Zubair

+0

@Zubair Estoy pensando en las líneas de acción en struts. Estos pueden ser generados, pero usted completa los detalles usted mismo. –

+0

Ok, eso tiene sentido. Creo que el andamiaje es la única respuesta aceptable para el código generado, ¿estás de acuerdo? – Zubair

1

Con técnicas como LINQ veo (casi) sin necesidad de que los marcos como NHibernate y soluciones similares. Cuando el rendimiento es un problema real, las aplicaciones de talones generados podrían ser más rápidas que las técnicas que se basan en técnicas como la reflexión.

Otro de los beneficios de código generado es que se compila y por lo tanto menos probable que cause errores en tiempo de ejecución.

+0

Última verificación, NHibernate no genera una línea de código. Y Linq To Nhibernate existe. Entonces tu primer comentario es nulo. – mxmissile

7

Hay dos casos justificados e injustificados de generación de código. Sin embargo la generación de código adecuada puede dar lugar a los siguientes beneficios:

  1. óptima de código en tiempo de ejecución - bibliotecas cosas proceso durante el tiempo de ejecución, mientras que se puede eliminar una gran cantidad de maquinaria en tiempo de ejecución mediante el análisis de la estructura de los códigos durante la generación.
  2. La eliminación de errores introducidos haciendo trabajo repetitivo.
  3. Mejor comprensión de su código, la generación generalmente conduce a un "modelo" de mayor nivel; donde el modelo se usa para representar lo que se debe generar.
  4. Reducción en LOC: miles de líneas pueden generar millones de líneas de código de salida.
+0

No podría estar más de acuerdo. Creo que el problema surge cuando alguien quiere codificar todo para cada escenario. ¡Úselo para llegar a la marca del 80% y haga el resto! –

Cuestiones relacionadas