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
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.
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.
Última verificación, NHibernate no genera una línea de código. Y Linq To Nhibernate existe. Entonces tu primer comentario es nulo. – mxmissile
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:
- ó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.
- La eliminación de errores introducidos haciendo trabajo repetitivo.
- 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.
- Reducción en LOC: miles de líneas pueden generar millones de líneas de código de salida.
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! –
- 1. ¿Por qué este código todavía funciona?
- 2. ¿Por qué necesitamos fibras
- 3. ¿Por qué necesitamos Thread.MemoryBarrier()?
- 4. ¿Por qué necesitamos marcos burlones?
- 5. ¿Todavía necesitamos el AsyncEnumerator de Richter?
- 6. ¿Todavía necesitamos barras diagonales en HTML5?
- 7. ¿Por qué necesitamos C Unions?
- 8. ¿Por qué necesitamos mesa virtual?
- 9. ¿Por qué necesitamos ng-click?
- 10. ¿Por qué necesitamos usar Radix?
- 11. ¿Por qué necesitamos web-sockets?
- 12. ¿Por qué necesitamos struct? (C#)
- 13. ¿Por qué todavía necesitamos un archivo de resguardo .lib cuando tenemos la implementación .dll real?
- 14. ¿Por qué el código IL generado comienza con un Nop?
- 15. ¿Por qué necesitamos el método ContinueWith?
- 16. ¿Todavía necesitamos el patrón de diseño del iterador?
- 17. ¿Por qué necesitamos una etiqueta fieldset?
- 18. ¿Por qué necesitamos este operador especial ===?
- 19. ¿Por qué necesitamos Propiedades en C#
- 20. ¿Por qué necesitamos Application Server en Java?
- 21. ¿Por qué necesitamos un constructor privado?
- 22. ¿por qué necesitamos ClassMethods e InstanceMethods?
- 23. ¿Por qué necesitamos parámetros de "salida"?
- 24. ¿Por qué incluso necesitamos el operador "delete []"?
- 25. ¿Por qué necesitamos servicios web RESTful?
- 26. ¿Por qué necesitamos delegados de C#
- 27. ¿Por qué necesitamos patrones de diseño?
- 28. ¿Por qué necesitamos interfaces en Java?
- 29. ¿Por qué necesitamos funcall en Lisp?
- 30. ¿por qué necesitamos zone_highmem en x86?
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
@Zubair Estoy pensando en las líneas de acción en struts. Estos pueden ser generados, pero usted completa los detalles usted mismo. –
Ok, eso tiene sentido. Creo que el andamiaje es la única respuesta aceptable para el código generado, ¿estás de acuerdo? – Zubair