En este módulo, aprenderás sobre las mejores prácticas y convenciones de estilo de código en Ruby. Seguir estas convenciones no solo hará que tu código sea más legible y mantenible, sino que también facilitará la colaboración con otros desarrolladores.
- Importancia del Estilo de Código
El estilo de código es crucial por varias razones:
- Legibilidad: Un código bien estructurado y consistente es más fácil de leer y entender.
- Mantenibilidad: Facilita la identificación de errores y la implementación de cambios.
- Colaboración: Permite que otros desarrolladores comprendan y trabajen con tu código más fácilmente.
- Convenciones de Nombres
2.1 Variables y Métodos
- Variables locales y métodos: Utiliza
snake_case.user_name = "John" def calculate_total # código end
2.2 Clases y Módulos
- Clases y Módulos: Utiliza
CamelCase.class UserAccount # código end module PaymentGateway # código end
2.3 Constantes
- Constantes: Utiliza
UPPER_SNAKE_CASE.MAX_ATTEMPTS = 5
- Indentación y Espaciado
3.1 Indentación
- Utiliza 2 espacios para la indentación. No uses tabulaciones.
def example_method if condition # código end end
3.2 Espaciado
-
Espacios alrededor de operadores:
total = price + tax -
Sin espacios después de
(,[y antes de],):some_method(arg1, arg2) array = [1, 2, 3]
- Longitud de Línea
- Mantén las líneas de código a un máximo de 80 caracteres. Si una línea es demasiado larga, considera dividirla.
def some_long_method_name(argument_one, argument_two, argument_three) # código end
- Comentarios
5.1 Comentarios en Línea
- Utiliza comentarios para explicar el por qué del código, no el qué.
# Calcula el total incluyendo impuestos total = price + tax
5.2 Comentarios de Bloque
- Para comentarios más largos, usa comentarios de bloque.
=begin Este método realiza una serie de cálculos complejos y devuelve el resultado final. =end
- Estructura de Archivos
6.1 Organización de Archivos
- Coloca cada clase en su propio archivo.
# archivo: user_account.rb class UserAccount # código end
6.2 Requiriendo Archivos
- Utiliza
requireorequire_relativepara incluir otros archivos.require_relative 'user_account'
- Ejemplo de Código Bien Formateado
# archivo: user_account.rb
class UserAccount
MAX_ATTEMPTS = 5
def initialize(user_name)
@user_name = user_name
@login_attempts = 0
end
def login(password)
if @login_attempts >= MAX_ATTEMPTS
raise "Account locked"
end
if authenticate(password)
reset_attempts
true
else
increment_attempts
false
end
end
private
def authenticate(password)
# lógica de autenticación
end
def reset_attempts
@login_attempts = 0
end
def increment_attempts
@login_attempts += 1
end
end
- Ejercicio Práctico
Ejercicio
Refactoriza el siguiente código para que siga las convenciones de estilo de Ruby:
class person
def initialize(name,age)
@Name=name
@Age=age
end
def getInfo()
return "Name: #{@Name}, Age: #{@Age}"
end
endSolución
class Person
def initialize(name, age)
@name = name
@age = age
end
def get_info
"Name: #{@name}, Age: #{@age}"
end
endConclusión
Seguir las convenciones de estilo de código en Ruby es esencial para escribir código limpio, legible y mantenible. A medida que avances en tu carrera como desarrollador, estas prácticas te ayudarán a colaborar de manera más efectiva y a mantener un código de alta calidad. En el próximo tema, exploraremos técnicas de refactorización para mejorar aún más la calidad de tu código.
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad
