Saltar al contenido

¿Por qué los profesionales de Ruby on Rails NO usan Scaffolding?

Luego de indagar en diferentes repositorios y foros finalmente hemos hallado la respuesta que te enseñamos a continuación.

Solución:

Tengo experiencia con rieles y rara vez uso andamios simplemente porque mi objetivo final está lejos de las simples acciones CRUD. Sin embargo, no existe una regla estricta para no usar andamios. Algunos programadores lo desaprueban porque en realidad es andamio, literalmente. No es un producto terminado. Scaffolding lo apoya mientras construye el producto real. Busque en las imágenes de Google “andamios” y debería hacerse una idea.

Tenga en cuenta scaffold es solo uno de los muchos generadores incorporados en Rails. Un generador de Rails es simplemente un script que genera un código genérico. Los generadores son muy útiles para ahorrar tiempo, y rápidamente se encontrará escribiendo generadores para sus propias necesidades personalizadas.

Creo que la mayoría de los profesionales evitan el scaffolding porque prefieren un enfoque de desarrollo basado en pruebas para escribir código de producción. Esto significa que primero quieren escribir una prueba fallida y luego escribir el código que hace que la prueba pase. Esta es una gran manera de producir un código fuerte, pero funciona mejor a un nivel muy granular. Scaffolding parece hacer demasiado a la vez y, por lo tanto, interrumpe un ciclo cerrado de escribir una prueba fallida para características específicas y luego escribir el código que hace que esa característica en particular pase. Puede ser más importante adquirir ese hábito más allá de la facilidad de uso de los andamios.

Dicho andamiaje puede ser bastante poderoso por derecho propio.

Es importante comprender el uso de rieles para generar andamios y ser consciente de sus limitaciones. El andamiaje lo ayuda a hacer que algo funcione rápidamente y probar una suposición. Pero en el mundo real no te llevará demasiado lejos. Digamos que creaste un modelo con andamios

rails generate scaffold Article title:string body:text

¡Estupendo! Ahora tienes un prototipo listo. Pero ahora digamos que tiene que agregar otro campo “autor”.

rails generate migration add_to_article_author author:string
rake db:migrate

ahora los artículos de la tabla tienen una nueva columna, pero los archivos en /app/views/articles están en el mismo estado anterior, es decir, el formulario no tendrá campo de autor, etc. Si vuelve a ejecutar scaffold

rails generate scaffold Article title:string author:string body:text --skip-migration

Esta vez ha agregado –skip-migrate porque eso se ha hecho antes y Rails realmente se quejará si tuviera que migrar la misma tabla nuevamente. Ahora scaffold le pedirá que sobrescriba el archivo que creó la primera vez. Sobrescribir también destruirá cualquier cambio que haya realizado en su controlador /app/controllers/article_controller.rb o vea archivos como /app/views/article/show.html.erb o index.html.erb

Dado que cualquier aplicación de Rails que valga la pena tiene un código personalizado (y no un código repetitivo creado por scaffold), un programador de Rails debe usar scaffold solo para probar una idea. Usa andamios para darle a tu cliente algo con lo que jugar. Pero en el mundo real, el código de andamio repetitivo no se usa.

Tienes la posibilidad comunicar esta reseña si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *