En aquest tema, aprendrem sobre les millors pràctiques per escriure codi Ruby net, llegible i mantenible. Seguir un estil de codi consistent no només fa que el teu codi sigui més fàcil de llegir per altres desenvolupadors, sinó que també ajuda a evitar errors i millora la col·laboració en equips.
- Guia d'Estil de Ruby
La comunitat de Ruby ha desenvolupat una guia d'estil que cobreix les millors pràctiques per escriure codi Ruby. Aquesta guia és àmpliament acceptada i utilitzada per molts desenvolupadors Ruby. Pots trobar la guia completa a Ruby Style Guide.
- Nomenclatura
2.1. Noms de Variables i Mètodes
-
Variables locals i mètodes: Utilitza
snake_case
per a noms de variables i mètodes.user_name = "John Doe" def calculate_total(price, tax) price + tax end
-
Variables de classe: Utilitza
CamelCase
per a noms de classes i mòduls.class UserAccount end
-
Constants: Utilitza
SCREAMING_SNAKE_CASE
per a constants.MAX_USERS = 100
2.2. Noms de Fitxers
- Els noms de fitxers han de seguir el format
snake_case.rb
.user_account.rb
- Indentació
- Utilitza dos espais per a la indentació, no tabuladors.
def example_method if condition do_something else do_something_else end end
- Espais en Blanc
-
Espais al voltant dels operadors: Afegeix espais al voltant dels operadors.
total = price + tax
-
Espais després de comes: Afegeix un espai després de cada coma.
def example_method(arg1, arg2, arg3) end
-
Espais després de paraules clau: Afegeix un espai després de paraules clau com
if
,while
,def
, etc.if condition do_something end
- Longitud de Línia
- Mantingues les línies de codi amb una longitud màxima de 80 caràcters. Si una línia és massa llarga, considera dividir-la en múltiples línies.
def example_method some_long_variable_name = "This is a very long string that exceeds the 80 character limit, so it should be split." another_variable = some_long_variable_name.split(" ") end
- Comentaris
-
Comentaris de línia: Utilitza
#
per a comentaris de línia.# Això és un comentari de línia total = price + tax # Calcula el total
-
Comentaris de bloc: Utilitza
=begin
i=end
per a comentaris de bloc.=begin Això és un comentari de bloc. Pot contenir múltiples línies. =end
- Estructura de Classes i Mòduls
-
Classes: Defineix una classe amb
class
iend
.class User attr_accessor :name, :email def initialize(name, email) @name = name @.email = email end def display_info "#{name} - #{email}" end end
-
Mòduls: Defineix un mòdul amb
module
iend
.module Authentication def login(user) # codi per iniciar sessió end def logout(user) # codi per tancar sessió end end
- Exercicis Pràctics
Exercici 1: Refactoritza el Codi
Refactoritza el següent codi per seguir les convencions d'estil de Ruby:
class person def initialize(name,age) @name=name @age=age end def display puts "Name:#{@name}, Age:#{@age}" end end p=person.new("Alice",30) p.display
Solució:
class Person def initialize(name, age) @name = name @age = age end def display puts "Name: #{@name}, Age: #{@age}" end end p = Person.new("Alice", 30) p.display
Exercici 2: Escriu un Mètode Seguint les Convencions
Escriu un mètode anomenat calculate_area
que prengui dos arguments length
i width
i retorni l'àrea d'un rectangle. Assegura't de seguir les convencions d'estil de Ruby.
Solució:
def calculate_area(length, width) length * width end area = calculate_area(5, 10) puts "The area is #{area}"
Conclusió
Seguir les convencions d'estil de codi és essencial per escriure codi Ruby net, llegible i mantenible. En aquest tema, hem cobert les pràctiques recomanades per a la nomenclatura, la indentació, l'ús d'espais en blanc, la longitud de línia, els comentaris i l'estructura de classes i mòduls. Practica aquestes convencions en els teus projectes per millorar la qualitat del teu codi.
Curs de Programació en Ruby
Mòdul 1: Introducció a Ruby
Mòdul 2: Conceptes Bàsics de Ruby
Mòdul 3: Treballant amb Col·leccions
Mòdul 4: Programació Orientada a Objectes en Ruby
- Classes i Objectes
- Variables i Mètodes d'Instància
- Variables i Mètodes de Classe
- Herència
- Mòduls i Mixins
Mòdul 5: Conceptes Avançats de Ruby
- Blocs, Procs i Lambdas
- Metaprogramació
- Gestió d'Excepcions
- Entrada/Sortida de Fitxers
- Expressions Regulars
Mòdul 6: Introducció a Ruby on Rails
- Què és Ruby on Rails?
- Configuració de l'Entorn Rails
- Creació d'una Aplicació Simple en Rails
- Arquitectura MVC
- Rutes
Mòdul 7: Proves en Ruby
- Introducció a les Proves
- Proves Unitàries amb Minitest
- Desenvolupament Basat en Comportament amb RSpec
- Mocking i Stubbing
Mòdul 8: Millors Pràctiques en Ruby
- Estil de Codi i Convencions
- Refactorització
- Optimització del Rendiment
- Millors Pràctiques de Seguretat