Pregunta

Los asistentes pueden iniciar características. También pueden ofuscar su código y son anti-YAGNI.

A fin de cuentas, ¿crees que los Wizards son más útiles o más dañinos?

¿Fue útil?

Solución

Son más útiles que dañinos si y solo si entiendes el código que generan. Solo después de dominar el problema, el asistente está tratando de resolver, son realmente útiles. De lo contrario, golpeará las paredes más adelante en el proyecto, porque el código generado necesitará modificaciones en algún momento.

" La Ley de abstracción de fugas " realmente lo clava en la cabeza.

Otros consejos

Están ahí por una razón: para intentar hacerte la vida más fácil. Pueden ser útiles y ahorrarle 5 o 10 minutos de escritura. Por supuesto, es mejor leer y asegurarse de que comprende lo que han escrito para usted.

Si los usas sin comprender, entonces podrían considerarse perjudiciales por el hecho de que te dejan escapar sin aprender algo que probablemente deberías saber, pero en general creo que son una buena cosa.

Los asistentes son buenos si y solo si puedes salir con nunca editando el código que generan. En esa situación, son en esencia un lenguaje de programación de muy alto nivel. Cuando cambie de opinión sobre algo que fue generado por el asistente, puede volver a ejecutar el asistente.

Los magos son terriblemente malvados si debes alguna vez editar el código que generan. Si lo hace, y luego cambia de opinión acerca de una de las elecciones que realizó en el asistente, se verá obligado a elegir entre dos opciones muy malas. Puede volver a ejecutar el asistente y volver a aplicar las ediciones manuales, o puede intentar editar las múltiples copias del código de la plantilla que creó el asistente la primera vez. En el primer caso, es probable que olvide al menos una de sus ediciones, y en el último caso, es probable que se pierda al menos uno de los lugares en el código que se vio afectado por su elección en el momento de ejecución del asistente.

Los asistentes son " en su mayoría inofensivos " cuando generan una entidad encapsulada, una función, una clase o un conjunto de clases, que no necesita modificar y con la que interactúa a través de una interfaz bien definida y bien diseñada.

En el otro extremo del espectro hay un asistente que genera código de esqueleto que necesita ser ampliado y modificado. Esto es especialmente problemático si no puede cambiar algunas de las opciones del asistente más adelante sin perder sus ediciones.

Estos aún están " ok " para el profesional que podría escribir el mismo código por sí mismo y utiliza el asistente para ahorrar tiempo. Sin embargo, cuando se usan para hacer que algo complicado parezca fácil para los principiantes, son un trabajo de pintura sobre un auto oxidado: ayudan a vender algo que de otra manera no comprarías.

En la práctica, pueden ser útiles para facilitar la adopción de una plataforma. Pero ese es un aspecto comercial, y si los aspectos comerciales pueden justificar errores de código es una cuestión del entorno de desarrollo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top