# Code as An Asset
Catégories de remarques de review:
- expressivité du code
- code incorrect:
- cas null pas testés (devrait l'être systématiquement)
- tout ce qui rentre devrait avoir des pré-conditions / post-conditions
- orthographe
- norme / normalisation
- respect best-practice
- feed-back non explicite
- normalisation de la review
Concept de single responsability pour une classe
La documentation est très importante dès qu'il y a une responsabilité.
Il y a deux types de nommage:
- par fonction (ce qu'il fait)
- par nature (string, int ...)
Une bonne coding style devrait indiquer la politique de nommage.
Recommandation: nommage par nature, l'autre est trop subjectif.
Objectif d'une entreprise d'une code review:
- améliorer la qualité du code
- qualifier ses équipes
- formation continue
- discussion autour des normes collectives
ADR: Architecture Decision Record: log les choix d'architecture. Bonne pratique.
Pourquoi les codes base auraient de la valeur pour les ressources humaines ?
- pour les recrutements : profilage, intérêts et technologies social-dev profiling, éthique de travail
- faire un suivi sur les formations nécessaires
- métrique productivité des employés, éthique de travail des employés, profilage des employés
- qualité de vie, détecter les baisses de motivation, esprit d'équipe
**Recrutement:** Profilage, intérêts et technologies social-dev profiling :
- Ce que la personne aime permet de qualifier la rigueur et les compétences du candidat
- Regarder si la personne participe à des projets de groupes ou des projets open source (forte culture dev, sens de communauté)
- Regarder si la personne fait des hackathon, de quel type ?
- Quels langages sont maîtrisés ou au moins utilisés ?
- Voir si les projets s’inscrivent dans un domaine particulier -> rapport avec le secteur de l’entreprise ?
- Éthique de travail des employes, suivent-ils les regles ?
- Proprete du code
- Documentation du code
- Git log propre
- Analyser la codebase de l'entreprise pour en tirer un profil type
- Entretiens techniques, clareté de l'explication du code
**Qualité de vie:** Détecter les baisses de motivation,Esprit d'équipe :
- Partage de code, et coder en groupe. Rendre l'écriture de code un projet commun
- Analyser la codebase pour vérifier la motivation (horaire des commits, respect des deadlines, qualité)
- Code Showdown: Réunion visant à montrer du code, pour que les employés puissent montrer le code dont ils sont fier, pour augmenter la cohésion et l'esprit de groupe
- Inspection des messages durant les PR, analyse avec des algorithmes
**Profilage/suivi employés :**
- Noter les commits de correction de bugs
- Analyser l'activité de l'employé au niveau de la régularité
- Analyser la clareté de code/fichiers
- Il ne faut pas sur-flické les employés (fausser les résultats)
- Bien mettre en évidence les critères évalués de la code base