Nos standards de qualité du code

Nous sommes convaincus que pour aller vite sur le long terme, il faut écrire du code de qualité dès le départ. À Theodo, en plus des bonnes pratiques reconnues, nous avons mis en place un framework qui nous permet de monitorer la qualité des applications que nous développons.

Notre framework pour suivre la qualité des projets

Ces 5 piliers de la qualité sont suivis en continu sur chaque projet

Sustainable

Nous nous assurons que le code produit reste simple et facilement évolutif en suivant les bonnes pratiques des communautés open-source

Secure

Notre culture DevSecOps et les recommandations de l'OWASP nous permettent d'améliorer en continue la sécurité des applications que nous développons

Speed

Nous monitorons en continu la vitesse de chargement des pages et nous appliquons nos bonnes pratiques pour qu’il reste rapide

Stable

Nous visons un objectif de 0 bug par application en les traitant dès qu’ils apparaissent et en mettant en place des standards de prévention

Scalable

Dès la conception nous nous assurons que les architectures des applications tiendront le nombre d’utilisateurs nécéssaires aux besoins métiers

Les outils et standards qui nous permettent de mesurer comment nos projets se positionnent sur nos 5 piliers

sonarqube

Sonarqube est une plateforme open-source d’inspection de la qualité du code afin de détecter les bugs et les vulnérabilités

dev-sec-ops

DevSecOps est une philosophie d’intégration de la sécurité dans les pratiques DevOps.

faclo

Falco est notre outil open-source pour monitorer la performance des applications web

sentry

Sentry est une plateforme de monitoring qui permet de remonter les erreurs d’éxécution du code d’une application en temps réel

k6

k6 est un outil de test de montée en charge pour dimensionner l’infrastrucutre de nos applications

Des experts impliqués dans les communautés tech pour rester à l'état de l'art

nicolas-2

Nicolas

Performance

Paul

Paul

Sécurité

jeanlucc

Jean-Luc

Architecture

guillaume

Guillaume

Java

yann

Yann

Symfony

benjamin

Benjamin

Golang

remy

Remy

Formation

kevin

Kevin

React - PWA

Des pratiques reconnues

Relecture du code systématique

Relecture du code systématique

Chaque bloc de code mergé dans la codebase commune est revue et approuvée par le tech lead. À chaque retours lors d'une relecture de code, l'équipe peut :

  • - Clarifier le standard sur le wiki du projet
  • - Outiller l'équipe pour éviter le retour à l'avenir (linter, refactoring...)
Automatisation

Automatisation

L’automatisation est un moyen de limiter les erreurs sur un projet et s’applique à 3 aspects du projet :

- le déploiement continu

- le provisionning (Terraform, Cloud Formation)

- la configuration (Ansible)

Extreme programing

Extreme programing

L'Extreme Programming est l'autre face du développement agile, avec deux techniques que nous exploitons

  • - Le Test Driven Development, où l'on commence par écrire un test avant d'écrire du code, puis on refactorise le code
  • - Le Pair Programming pour développer les fonctionnalités les plus complexes
Toutes nos features sont testées

Toutes nos features sont testées

Nous nous fixons comme objectif d’avoir au moins 80 % de branch coverage.
Nous mettons en place des tests d’intégration sur les cas nominaux et cas d’erreur (Defensive Design) et des tests de performance Gatling sur le temps de réponse et la scalabilité