SlideShare una empresa de Scribd logo
1 de 8
Descargar para leer sin conexión
5Tips para
programar en
Ruby On Rails
1Convenciones del Esquema:
▸ Claves foráneas - Estos campos deberían ser nombrados
siguiendo el patrón nombre_de_tabla_en_singular_id
(ej: item_id, order_id). Estos son los campos que Active
Record buscará cuando crees asociaciones entre tus
modelos.
▸ Claves primarias - Por defecto, Active Record utilizará una
columna entera llamada id como la clave primaria de la
tabla.
Conoce los
principios de Ruby
▸ Don’t repeat your self (DRY):
No te repitas, reutiliza el código la mayor cantidad de veces.
Es un principio de ingenieria de desarrollo de software que se
vale de abstracciones, copias de datos y su normalización para
evitar redundancia.
Ejemplo de reducción de código:
https://gist.github.com/harssh-sparkway/8707634
Ejemplo de reutilización de código:
https://styde.net/primeros-pasos-con-ruby-on-rails/1
▸ TATFT. Son las siglas de “Test All The
Frigging Time”:
Se refiere a “probar todo el tiempo”.
Rails se basa en la estrategia de Desarrollo Dirigido por
Pruebas (Test Driven Development, TDD).
Básicamente, vamos a escribir las pruebas o
especificaciones con las que vamos a verificar que el
comportamiento que implementemos sea el deseado.
Recomendación:
http://www.guiasrails.es/testing.html
1
2Se trata de un asistente que analizará tu código
ruby buscando posibles ofensas que cometas, y
sugeriéndotecomo solventarlas para que tu código
sea más óptimo y mantenible por otros
desarrolladores.
Te informará si tu código atenta contra la guía de
estilos de ruby!
Lo puedes usar en editores como: Vim, Sublime,
Atom, RubyMine
https://github.com/bbatsov/rubocop
http://rubocop.readthedocs.io/en/latest/
Utiliza un optimizador
de código como
Rubocop
3Te permite interactuar con tu aplicación Rails
desde la línea de comando:
Esto es útil para probar ideas rápidas con código y
cambiar los datos del lado del servidor sin tocar el
sitio web.
http://guides.rubyonrails.org/command_line.htm
l
http://www.webtutoriales.com/articulos/usando-l
a-consola-de-ruby-on-rails
Aprovecha las ventajas
de Rails Console
4
Variables y visibilidad. Consiste en hacer que las
variables, métodos y constantes están disponibles
en un momento dado.
http://www.techotopia.com/index.php/Ruby_Variabl
e_Scope
Cuida la visibilidad de
los Scopes
5
Son andamios de rails.
Nos ayudan a levantar código
proporcionando acceso a las partes
de la estructura de la aplicación a
través del MVC.
Nota: facilita lo creación de CRUD
Y solo está a un comando de tenerlo:
rails generate scaffold
https://styde.net/mvc-rutas-y-scaffo
ld-en-ruby-on-rails/
Ahorra tiempo con
los Scaffolds

Más contenido relacionado

Similar a 5 tips para programar en Ruby On Rails

Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyJorge Antonio Linares Vera
 
Taller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTaller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTestingUy
 
Guía de buenas prácticas para desarrolladores web
Guía de buenas prácticas para desarrolladores webGuía de buenas prácticas para desarrolladores web
Guía de buenas prácticas para desarrolladores webJuan Victor Minaya León
 
Meetup training Taller RoR
Meetup training Taller RoR Meetup training Taller RoR
Meetup training Taller RoR cdechauri
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linuxvilna2011
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linuxvilna2011
 
Ruby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecRuby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecDiacode
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISGonzalo Chacaltana
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOnacho mascort
 
Taller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsTaller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsDiacode
 
Programa en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier RamirezPrograma en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier Ramirezjavier ramirez
 
Javier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins PdfJavier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins Pdfjavier ramirez
 
Rails Plugins. Javier Ramirez
Rails Plugins. Javier RamirezRails Plugins. Javier Ramirez
Rails Plugins. Javier Ramirezjavier ramirez
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on railspelusa
 
9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails 9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails kyaalena
 
Programacion web
Programacion webProgramacion web
Programacion webIACSA
 

Similar a 5 tips para programar en Ruby On Rails (20)

Desarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademyDesarrollo rápido de apps web con laravel - DevAcademy
Desarrollo rápido de apps web con laravel - DevAcademy
 
Taller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con RubyTaller evento TestingUY 2016 - Automatización de Pruebas con Ruby
Taller evento TestingUY 2016 - Automatización de Pruebas con Ruby
 
Guía de buenas prácticas para desarrolladores web
Guía de buenas prácticas para desarrolladores webGuía de buenas prácticas para desarrolladores web
Guía de buenas prácticas para desarrolladores web
 
Meetup training Taller RoR
Meetup training Taller RoR Meetup training Taller RoR
Meetup training Taller RoR
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Ruby en linux
Ruby en linuxRuby en linux
Ruby en linux
 
Taller de zan php
Taller de zan phpTaller de zan php
Taller de zan php
 
Ruby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpecRuby on Rails & TDD con RSpec
Ruby on Rails & TDD con RSpec
 
Laravel vc
Laravel vcLaravel vc
Laravel vc
 
Construyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDISConstruyendo Aplicaciones Web con PHP + LUA + REDIS
Construyendo Aplicaciones Web con PHP + LUA + REDIS
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEO
 
Taller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on RailsTaller de Introducción a Ruby on Rails
Taller de Introducción a Ruby on Rails
 
Programa en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier RamirezPrograma en Rails como si Jugases con Lego. Javier Ramirez
Programa en Rails como si Jugases con Lego. Javier Ramirez
 
Javier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins PdfJavier Ramirez Rails Plugins Pdf
Javier Ramirez Rails Plugins Pdf
 
Rails Plugins. Javier Ramirez
Rails Plugins. Javier RamirezRails Plugins. Javier Ramirez
Rails Plugins. Javier Ramirez
 
Clase6-popu
Clase6-popuClase6-popu
Clase6-popu
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails 9 razones para programar en Ruby On Rails
9 razones para programar en Ruby On Rails
 
Programacion web
Programacion webProgramacion web
Programacion web
 

Más de kyaalena

Rails Girls 2017 Venezuela
Rails Girls 2017 VenezuelaRails Girls 2017 Venezuela
Rails Girls 2017 Venezuelakyaalena
 
Revista Rails Girls Venezuela Mayo 2018
Revista Rails  Girls Venezuela Mayo  2018Revista Rails  Girls Venezuela Mayo  2018
Revista Rails Girls Venezuela Mayo 2018kyaalena
 
Ruby y su consola interactiva IRB
Ruby y su consola interactiva IRBRuby y su consola interactiva IRB
Ruby y su consola interactiva IRBkyaalena
 
Definición html y css
Definición html y cssDefinición html y css
Definición html y csskyaalena
 
Metodología para el desarrollo ágil scrum
Metodología para el desarrollo ágil scrumMetodología para el desarrollo ágil scrum
Metodología para el desarrollo ágil scrumkyaalena
 
Libertades del software libre
Libertades del software libreLibertades del software libre
Libertades del software librekyaalena
 
Rompiendo la seguridad por oscuridad
Rompiendo la seguridad por oscuridadRompiendo la seguridad por oscuridad
Rompiendo la seguridad por oscuridadkyaalena
 
Contratos inteligentes y blockchain
Contratos inteligentes y blockchainContratos inteligentes y blockchain
Contratos inteligentes y blockchainkyaalena
 
Estrategias para comunidades tecnofeministas
Estrategias para comunidades tecnofeministasEstrategias para comunidades tecnofeministas
Estrategias para comunidades tecnofeministaskyaalena
 
Proyecto Debian
Proyecto DebianProyecto Debian
Proyecto Debiankyaalena
 
Auditoria informatica metodologias y fases
Auditoria informatica metodologias y fases Auditoria informatica metodologias y fases
Auditoria informatica metodologias y fases kyaalena
 
Adobe flash
Adobe flash Adobe flash
Adobe flash kyaalena
 
Adobe firework
Adobe firework Adobe firework
Adobe firework kyaalena
 
Hablemos ransomware
Hablemos ransomwareHablemos ransomware
Hablemos ransomwarekyaalena
 
Portafolio colaboración Social Media
Portafolio colaboración Social MediaPortafolio colaboración Social Media
Portafolio colaboración Social Mediakyaalena
 
Cuidado con el virus
Cuidado con el virusCuidado con el virus
Cuidado con el viruskyaalena
 
Macromedia fireworks
Macromedia fireworksMacromedia fireworks
Macromedia fireworkskyaalena
 
Adobe Photoshop Express
Adobe Photoshop Express Adobe Photoshop Express
Adobe Photoshop Express kyaalena
 
La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...
La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...
La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...kyaalena
 
Hitos en el proceso de globalización
Hitos en el proceso de globalizaciónHitos en el proceso de globalización
Hitos en el proceso de globalizaciónkyaalena
 

Más de kyaalena (20)

Rails Girls 2017 Venezuela
Rails Girls 2017 VenezuelaRails Girls 2017 Venezuela
Rails Girls 2017 Venezuela
 
Revista Rails Girls Venezuela Mayo 2018
Revista Rails  Girls Venezuela Mayo  2018Revista Rails  Girls Venezuela Mayo  2018
Revista Rails Girls Venezuela Mayo 2018
 
Ruby y su consola interactiva IRB
Ruby y su consola interactiva IRBRuby y su consola interactiva IRB
Ruby y su consola interactiva IRB
 
Definición html y css
Definición html y cssDefinición html y css
Definición html y css
 
Metodología para el desarrollo ágil scrum
Metodología para el desarrollo ágil scrumMetodología para el desarrollo ágil scrum
Metodología para el desarrollo ágil scrum
 
Libertades del software libre
Libertades del software libreLibertades del software libre
Libertades del software libre
 
Rompiendo la seguridad por oscuridad
Rompiendo la seguridad por oscuridadRompiendo la seguridad por oscuridad
Rompiendo la seguridad por oscuridad
 
Contratos inteligentes y blockchain
Contratos inteligentes y blockchainContratos inteligentes y blockchain
Contratos inteligentes y blockchain
 
Estrategias para comunidades tecnofeministas
Estrategias para comunidades tecnofeministasEstrategias para comunidades tecnofeministas
Estrategias para comunidades tecnofeministas
 
Proyecto Debian
Proyecto DebianProyecto Debian
Proyecto Debian
 
Auditoria informatica metodologias y fases
Auditoria informatica metodologias y fases Auditoria informatica metodologias y fases
Auditoria informatica metodologias y fases
 
Adobe flash
Adobe flash Adobe flash
Adobe flash
 
Adobe firework
Adobe firework Adobe firework
Adobe firework
 
Hablemos ransomware
Hablemos ransomwareHablemos ransomware
Hablemos ransomware
 
Portafolio colaboración Social Media
Portafolio colaboración Social MediaPortafolio colaboración Social Media
Portafolio colaboración Social Media
 
Cuidado con el virus
Cuidado con el virusCuidado con el virus
Cuidado con el virus
 
Macromedia fireworks
Macromedia fireworksMacromedia fireworks
Macromedia fireworks
 
Adobe Photoshop Express
Adobe Photoshop Express Adobe Photoshop Express
Adobe Photoshop Express
 
La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...
La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...
La nueva revolución económica y tecnológica en la cultura y la ciencia (entor...
 
Hitos en el proceso de globalización
Hitos en el proceso de globalizaciónHitos en el proceso de globalización
Hitos en el proceso de globalización
 

5 tips para programar en Ruby On Rails

  • 2. 1Convenciones del Esquema: ▸ Claves foráneas - Estos campos deberían ser nombrados siguiendo el patrón nombre_de_tabla_en_singular_id (ej: item_id, order_id). Estos son los campos que Active Record buscará cuando crees asociaciones entre tus modelos. ▸ Claves primarias - Por defecto, Active Record utilizará una columna entera llamada id como la clave primaria de la tabla. Conoce los principios de Ruby
  • 3. ▸ Don’t repeat your self (DRY): No te repitas, reutiliza el código la mayor cantidad de veces. Es un principio de ingenieria de desarrollo de software que se vale de abstracciones, copias de datos y su normalización para evitar redundancia. Ejemplo de reducción de código: https://gist.github.com/harssh-sparkway/8707634 Ejemplo de reutilización de código: https://styde.net/primeros-pasos-con-ruby-on-rails/1
  • 4. ▸ TATFT. Son las siglas de “Test All The Frigging Time”: Se refiere a “probar todo el tiempo”. Rails se basa en la estrategia de Desarrollo Dirigido por Pruebas (Test Driven Development, TDD). Básicamente, vamos a escribir las pruebas o especificaciones con las que vamos a verificar que el comportamiento que implementemos sea el deseado. Recomendación: http://www.guiasrails.es/testing.html 1
  • 5. 2Se trata de un asistente que analizará tu código ruby buscando posibles ofensas que cometas, y sugeriéndotecomo solventarlas para que tu código sea más óptimo y mantenible por otros desarrolladores. Te informará si tu código atenta contra la guía de estilos de ruby! Lo puedes usar en editores como: Vim, Sublime, Atom, RubyMine https://github.com/bbatsov/rubocop http://rubocop.readthedocs.io/en/latest/ Utiliza un optimizador de código como Rubocop
  • 6. 3Te permite interactuar con tu aplicación Rails desde la línea de comando: Esto es útil para probar ideas rápidas con código y cambiar los datos del lado del servidor sin tocar el sitio web. http://guides.rubyonrails.org/command_line.htm l http://www.webtutoriales.com/articulos/usando-l a-consola-de-ruby-on-rails Aprovecha las ventajas de Rails Console
  • 7. 4 Variables y visibilidad. Consiste en hacer que las variables, métodos y constantes están disponibles en un momento dado. http://www.techotopia.com/index.php/Ruby_Variabl e_Scope Cuida la visibilidad de los Scopes
  • 8. 5 Son andamios de rails. Nos ayudan a levantar código proporcionando acceso a las partes de la estructura de la aplicación a través del MVC. Nota: facilita lo creación de CRUD Y solo está a un comando de tenerlo: rails generate scaffold https://styde.net/mvc-rutas-y-scaffo ld-en-ruby-on-rails/ Ahorra tiempo con los Scaffolds