Développement Logiciel / Bonnes pratiques Flashcards
Selon clean code, quel est le principe d’un commentaire ?
Expliquer des choses que le code ne peut peut pas exprimer de lui même.
Selon clean code, que faut t’il éviter dans un commentaire ?
Les données déjà save par git (date, auteur…), mal rédigés, le code mis en commentaire .
Selon clean code, quelles sont les bonnes pratiques au niveau des arguments de fonction ?
Le moins possible, pas d’arguments de sortie, les arguments booléens
Que faire avec un test qui ne passe pas ?
Ne pas le supprimer, mais plutôt le réparer.
Que doit faire une fonction ?
Exactement ce qu’on attend d’elle, ne pas qu’elle ai un comportement caché, sinon on n’aura plus confiance dans le code.
Qu’est ce que la redondance selon clean code ?
Le mal
Fonction et abstraction selon clean code ?
Une fonction doit avec son propre niveau d’abstraction. Il ne faut pas mélanger bas niveau et haut niveau.
Classe mère et classe fille selon clean code ?
La classe mère ne doit pas connaitre les classes filles.
Que doit on faire avec le code mort ?
Le supprimer, de toute façon il est save avec Git.
Qu’est ce que la séparation verticale (clean code) ?
Le code doit se rapprocher le plus possible au niveau vertical des méthodes qu’il appelle, pour ne pas devoir scroller pendant des heures.
Quel est l’ordre des opérations en informatique ?
Dans le même ordre qu’en mathématique.
Qu’est ce que l’incohérence dans Clean Code ?
Le fait de toujours faire une chose de la même manière dans le code, sauf à des endroits sans aucune justification
Qu’est ce que le désordre dans Clean Code ?
Le fait de mal ranger ses fichiers et dossiers
Qu’est ce que les variables explicatives ?
Le fait de stocker des résultats intermédiaires pour rendre plus lisible l’intention de l’algorithme
Est-ce une bonne idée de faire un nom de fonction long ?
Oui, si on ne peut pas rendre clair le rôle de la fonction avec un nom court.
Que faut t’il préférer au switch / if else ?
Le polymorphisme.
Qu’est ce qu’un nombre magique ?
C’est un nombre qui n’a pas variable associée, qui est juste posée comme ça dans le code. C’est une erreur quand on veut comprendre le code, ou faire du refactoring.
Qu’est ce que doivent faire une fonction ?
Une seule chose.
Que faut t’il éviter avec les fonctions booléens ?
Pas de négatif, c’est à dire pas de “Not” dans le nom.
Comment bien choisir un nom de fonction ?
Clair sur son rôle, et clair sur son niveau d’abstraction.
Que faut t’il éviter au niveau de la codification des noms de variable ?
Le hungarian case par exemple, qui consiste à préciser le type de la variable : name_s, age_i.. C’est pas beau. Il faut aussi éviter le mot list, ou object dans le nom des variable. Pour list, mieux vaut préférer le s du pluriel.
Qu’est il nécessaire lors des tests unitaire selon clean code ?
Qu’il teste assez de chose, qu’ils soient rapide à executer et qu’il y ai un outil de couverture de code.
Est il possible d’atteindre des tests exhaustifs ?
Non
Pourquoi il vaut mieux tester le plus tôt possible ?
Pour éviter les problèmes en prod, et donc perdre de l’argent