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.

  1. 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.

  1. 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
    

  1. 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]
    

  1. 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
    

  1. 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
    

  1. 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 require o require_relative para incluir otros archivos.
    require_relative 'user_account'
    

  1. 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

  1. 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
end

Solución

class Person
  def initialize(name, age)
    @name = name
    @age = age
  end

  def get_info
    "Name: #{@name}, Age: #{@age}"
  end
end

Conclusió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.

© Copyright 2024. Todos los derechos reservados