Divers

Divers #

Principes de privilège #

Dans la mesure du possible:

  • privilégiez les constantes aux variables
  • privilégiez les fonctionnalités privées aux fonctionnalités publiques
    • ne rendez visible que le strict nécessaire
  • privilégiez les types primitifs aux classes enveloppes équivalentes
    • performance + évite null
    • exception pour les paramètres des types génériques (List<Integer> au lieu de List<int> (impossible))
  • privilégiez les fonctions pures
    • la valeur de retour est toujours la même pour les mêmes arguments
    • pas d’effet de bord (pas de mutation de variables globales, d’objets globaux ou des arguments de la fonction)
    • devient plus simple à raisonner, facile à comprendre, principe de moindre suprise
  • privilégiez l’immutabilité à la mutabilité
    • pareil: plus simple à raisonner, facile à comprendre, principe de moindre suprise
    • facile à découpler, à débugguer, à paralléliser et à tester
  • privilégiez les interfaces aux classes abstraites
    • permettent une bonne abstracion tout en réduisant la duplication de code

En raisonnant ainsi, il est toujours plus simple de faire marche arrière. Par exemple, il est beaucoup plus simple de transformer une constante en une variable que l’inverse. Pareil pour le reste.












comments powered by Disqus