Nos standards de qualité du code

Pour aller vite sur le long terme, il faut écrire du code de qualité dès le départ. Nous accompagnons depuis 10 ans les DSI, les CTO et leurs équipes et  partageons avec eux notre méthodologie pour définir et maintenir des standards de qualité du code.

Notre framework pour suivre la qualité des projets

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

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’elles restent rapides, quelque soit le nombre d'utilisateurs

Stable

Nous visons un objectif de 0 bug par application. Nous nous assurons que le code produit reste simple et évolutif en suivant les bonnes pratiques des communautés open-source

Les outils et standards qui nous permettent de mesurer comment nos projets se positionnent sur nos 3 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

remy

Remy

Formation

Des pratiques reconnues

THEODO-2000-23

Relecture du code systématique

Chaque bloc de code mergé dans la codebase commune est revue et approuvée par le tech lead. À chaque retour 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)

THEODO-2000-19

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é