Code Reviews - Seniors

From My Limbic Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Best Practices

  • Pas de camel case dans les noms des controllers
  • High coesion / Lose coupling
  • Monolith First ==> puis division en API
  • Controller
    • prend le nom de la ressource controllee
    • Controller + exception handler (retourne HTTP request aussi) + mapper = facade
  • Name conventions: @Getmapping("list") pour retourner une liste d'events
  • @Autowired ==> private final ==> cree par le class Loader
  • DTO = Ce qui va etre transfere au client
  • Domain ou Model = objet en base de donnees
  • Flux ==> exemple Uber
  • Cloner les objets lorsque possible
  • utiliser le + possible de static ==> optimise la gestion de la memoire
    • valeur commune aux instances
    • valeur constance

Documentation

  • Methodes publiques ==> creation javadoc

Compare

  • Comparer @PathParameters vs @ModelAttribute

Dans la couche du rest: - La couche du REST a la responsabilite de verifier les attributs manquants et/ou mal envoyes, avant de transmettre les informations aux services.

Coding For Interfaces

Recommande de faire des interfaces + implémentations car: - Si pas d'interface, utilise CGLib - Quand utilisation interface : AspectG ==> Plus rapide ==> Donc implementer interface pour cette raison + meilleurs contrats

Principles

Principes "Has A" vs "Is A" ==> composition plutot que hierarchie


IDE

IDE : Ajouter final dans tous les paramètres - Principe d’immutabilité