Skip to content

Pratiques de dev

LeSim edited this page Sep 22, 2021 · 8 revisions

Pour les nouvelles contributions

Si c’est votre 1ère contribution, commencez par une toute petite Pr (par exemple de nettoyage), pour vous faire la main sur le processus.

Pratiques de code

  • le code doit être testé, tout pr sans test sera a priori rejetée
  • pas de code mort
  • le code doit être simple, pas d’injection de dépendance non utilisée
    • c.a.d. pas d'injection de dépendance dans les constructeurs
    • un exception pourrait être prise en compte si 2 implémentations différentes (hors tests) sont injectés
    • on mock directement les dépendances concernées (parce que ruby, c'est magique)
# Non
def initializer(http_service)
 @http_service = http_service
end

def get
  @http_service.get(url)
end

# Oui
def get
  Typhoeus.get(url)
end

# spec

expect(Service).to receive(:do_stuff).and_return(true)
## ou même
expect_any_instance_of(Procedure).to receive(:procedure_overview).and_return(procedure_overview)

Sur les PR

  • faites des petites PR. Si la PR est trop grosse (> 200 lignes), découpez en plusieurs PR.
  • chaque petite PR doit essayer d'apporter de la valeur au client, d'apporter une petite fonctionnalité.
  • Le relecteur d'une PR peut prendre la main (après l'avoir demandé) pour faire les modifs de formes
  • Les modifs de formes non détectées automatiquement sont optionnelles
  • Néanmoins, les commits de clean sont autorisés au sein de ces petites PRs
  • Les remarques sur l’amélioration du code ne concernant pas directement la PR sont optionnelles

Sur les commits

  • faire des petits commits, homogène et en essayant de ne pas mélanger les sujets (par exemple, un commit pour du renommage, un commit pour un ajout de méthode + test, un commit pour l'ui)
Clone this wiki locally