Code Reviews - Seniors

From My Limbic Wiki
Revision as of 19:12, 2 December 2019 by Fukakai (talk | contribs) (Page créée avec « 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 control... »)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

Name conventions: @Getmapping("list") pour retourner une liste d'events

@Autowired ==> private @Autowired ==> private final ==> cree par le class Loader

utiliser le + possible de static ==> optimise la gestion de la memoire - valeur commune aux instances - valeur constance

Methods publiques ==> creation javadoc

Comparer @PathParameters vs @ModelAttribute

Dans la couche du rest: - Verifier Attributs maquants, mal envoye

"Coding For Interface" - Recommande de faire des interfaces + implementations car: - Si pas d'interface, utilise CGLib - Quand utilisation interface : AspectG ==> Plus rapide ==> Donc implementer interface pour cette raison + meilleurs contrats

Controller + exception handler (retourne HTTP request aussi) + mapper = facade

DTO = Ce qui va etre transfere au client Domain ou Model = objet en base de donnees

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

Flax ==> exemple huber

IDE : Ajouter final dans tous les parametres - Principe d'immutabilite ==> Cloner les objets lorsque possible