Développer du code de qualité avec
CRUTINIZER-CI
Definition de "scruter" (scrutinize en anglais)
verbe (utilisé avec un objet)
1. examiner en détail très attentivement ou avec une attention critique.
Définition d'intégration continue (CI)
L'intégration continue est un ensemble de pratiques utilisées en génie logiciel consistant à vérifier à chaque modification de code source que le résultat des modifications ne produit pas de régression dans l'application développée.
Amazon AWS
CodePipeline
Jenkins
Travis
Scrutinizer
C'est quoi un SaaS?
Le logiciel en tant que service ou software as a service (SaaS) est un modèle d'exploitation commerciale des logiciels dans lequel ceux-ci sont installés sur des serveurs distants plutôt que sur la machine de l'utilisateur.
Sections de l'application
- Accueil
- Problèmes
- Code
- Inspections
- Rapports
- Graphiques
- Configuration
Accueil
Section problèmes
- Naviguer les problèmes découvert
- Appliquer des patchs automatisé
Section problèmes
Section problèmes
Faux positifs
Pour retirer des problèmes marqués "faux positif", vous devez aller dans la section configuration sous "Issue filter"
Section revue de code
- Statistiques globales
- Points chauds
- Détails par fichiers
Section revue de code
Section revue de code
Couplage
Utilisez des interfaces et limitez les classes concretes. Plus vous dépendez d'autres classes, plus votre code détient une grande responsabilité... Difficile à gérer!
Cohésion
Indique le degré de relation entre les fonctions du module. Plus votre classe aura de méthodes qui s'appellerons les unes les autres et qui seront simple, meilleure sera votre cohésion.
Complexité
Un code complexe contient beaucoup de boucles et conditions. Chaque conditions intègre un nouveau chemin dans le code et donc un bug potentiel d'interprétation.
Réduire !?!
Attention à l'optimisation de votre code. Afin de réduire la complexité et augmenter la cohésion, vous pouvez rendre votre code "plus" complexe à lire même s'il est théoriquement mieux...
Section inspections
- Revue des inspections des
- commits,
- PR,
- merge
- Patches de code
Section inspections
Section inspections
Section inspections
Section inspections
Section inspections
Autres sections
- Derniers rapports
- Graphiques
Section configuration
- Script de configuration
- Intégration chat
- Déploiement
Section configuration
Section configuration
Section configuration
Déploiements
- Via scripts bash
- Éxécuté à chaque succès de tests
- Les artifacts de déploiements sont conservés 7 jours
Conclusion
- Indicateurs faciles a comprendre de qualité de code
- Suggestions pour améliorer votre structure
- Suggestions pour améliorer votre code (Style)
- Automatisation des tests et déploiement
- Gratuit pour les projets open source
- Peu couteux même pour les projets privés
Mathieu Dumoulin
Programmeur Analyste @ Learning Bird
Twitter: @crazycoders
LinkedIn: crazycoders
Git-hub: crazycodr
Site web et courriel : crazyone@crazycoders.net
Projets actifs :
Standard-Exceptions: GitHub
Infect! (Jeu de société): Facebook page
Scrutinizer
By Mathieu Dumoulin
Scrutinizer
Développer du code de qualité avec Scrutinizer CI
- 756