ConstructiCat Logo
CodeBust.
Browse section ▾

Supprimer la méthode d'affectation.

Problem

La valeur d'un champ ne doit être définie qu'au moment de sa création et ne doit jamais changer par la suite.

Solution

Supprimez donc les méthodes qui modifient la valeur du champ.

##Example

Avant
Customer setImmutableValue()
Après
Customer

##Why Refactor

Vous souhaitez empêcher toute modification de la valeur d'un champ.

##How to Refactor

  1. La valeur d'un champ ne doit pouvoir être modifiée que dans le constructeur. Si le constructeur ne contient pas de paramètre permettant de définir la valeur, ajoutez-en un.

  2. Recherchez tous les appels aux setters.

    • Si un appel à un setter se trouve juste après un appel au constructeur de la classe courante, déplacez son argument vers l'appel du constructeur et supprimez le setter.

    • Remplacez les appels aux setters dans le constructeur par un accès direct au champ.

  3. Supprimez le setter.