Nommage

Règle générale

Tous les noms de méthodes et de classes sont en anglais dans le kit dans un soucis de partage et d'accessibilité.

Notez qu'il est important qu'en cas de traduction du kit, aucune méthode, classe ou variable ne doive être renommée.

Localisation des symbol

En cas d'utilisation de symbol, veillez à garder un nom anglais: la localisation doit apparaît sous forme de string modifiable indépendament du code.

Fonctions du kit

Dans la class Interpreter, les noms de méthodes sont en anglais également: la localisation intervient sous forme d'alias_method, de la manière suivante:

def my_function
    print "Some text"
end
alias_method :ma_fonction, :my_function

Ainsi, nous conservons la clareté du code.

Philosophie

Une approche purement objet

Nous tenons à utiliser une approche orientée objet. Préfèrez toujours l'héritage plutôt qu'une nouvelle définition ou et une classe qu'un système de tableau ou d'array. C'est bien plus flexible et extensible pour quiconque souhaite ajouter des fonctionnalités au kit.

De la même manière, utilisez les attr_accessor, attr_reader et attr_writer de manière quasiment systématique.

Exemple

# Classe

def initialize()
    @var = 0
end

def get_var
    @var
end

def set_var(i)
    @var = i
end

# Accès

objet.set_var(12)

Devra être remplacé par

# Classe

attr_accessor :var

def initialize()
    @var = 0
end

# Objet

objet.var = 12

Ce qui est bien plus pratique et plus efficace. Cependant, en cas de génération sur la valeur des variables, n'oubliez pas de remplacer attr_accessor par attr_reader et d'ajouter une méthode pour définir la variable:

# Classe

attr_reader :var

def initialize()
    @var = 0
end

def set_var(i)
    @var = i + 16
end

# Accès

objet.set_var(12)
objet.var # Renvoie 28

Utilisation des Array

Nous banissons quasiment systématiquement l'utilisation des array pour des hash pour tout ce qui est accès aux données. N'oubliez pas d'utiliser, sauf raison particulière, des symbol à la place des string pour les clés des hash.