Au fur et à mesure que les entreprises se sont mises à absorber les technologies du Web, elles se sont mises à constater des problèmes de stabilités et de sécurités. Pour renverser cette tendance, une mise d'abord sur des experts en sécurités et des spécialistes réseau. Toutefois, bien que la sécurité est meilleure qu'elle le fut au début des années 2000, il en demeure pas moins que la stabilité et les petits bobos mal supportés, à cause entre du manque de standard au niveau du Web, ce fit sentir de plus en plus. Pour renverser la vapeur, on se tourna donc vers une veille philosophie des 1970, soit la «Revue de code» ou le «code review» en anglais.
L'idée est simple, après qu'un programmeur est développé une solution à ce problème, un programmeur expérimenté, assez souvent un chef technique, vérifie soigneusement le code propulsé dans le gestionnaire de version de code source afin de tester ses petits problèmes ou s'il n'a pas une meilleure idée pour résoudre le problème. S'il n'a plu rien à dire, le code peut être envoyé en production, s'il est rejeté, le programmeur, doit réviser son code et tenir compte de ses recommandations et resoumettre une nouvelle fois son code jusqu'à ce qu'il n'est plus rien à dire.
Dans la pratique, hélas, le code sera rejeté parce qu'il ne respecte pas l'indentation, qu'il a oublié une majuscule et même parfois parce qu'il ne comprend pas le code. Naturellement, ce peut être un point à surveiller, mais l'esthétisme ne devrait pas primer sur l'efficacité du code (incluant sa rapidité), la solidité du code (si la technique répond bien au test de charge) et la conformité du code (respect des standards). L'esthétique du code devrait être le dernier point à surveillé, à moins bien sûre, que l'entreprise à une rotation considérable de personnel et que personne ne comprend le code correctement, y compris celui faisant la revue de code.
L'objectif de cette idée, c'est que la formation du personnel au produit peut être souvent vient faite de cette manière. Si l'approbation passe par l'équipe plutôt qu'une personne, elle permettra souvent de tisser des liens d'amitié et de former une meilleure. Le code du projet deviendra progressivement beaucoup plus standard et cohérent. Et finalement, il améliora la qualité du code, donc il y a nécessairement une diminution du nombre de bogues.
Les modèles de revue de code les plus connus sont les suivants :
- Inspection formelle
- Avertissement par courriel
- Analyse et explication par le développeur ou relecture du code source
- Programmation en binôme
- Utilisation d'un outil dédié
- Analyse statique
- Définition de règles de codage
- Liste de vérification
- Auto-relecture
- Intégration continue
- Savoir être
- Métriques
Ces modèles peuvent être tout utilisés, seulement quelques un ou encore un seuls. Tout dépendra des objectifs à atteindre dans le projet.