Logotipo do ConstructiCat
CodeBust.
Explorar a seção ▾

Remover Método de Atribuição.

Problema

O valor de um campo deve ser definido apenas no momento de sua criação e não deve mudar em nenhum momento depois disso.

Solução

Portanto, remova os métodos que definem o valor do campo.

##Exemplo

Antes
class Account {
  private String id;

  Account(String id) {
    setId(id);
  }
  void setId(String arg) {
    id = arg;
  }
}
Depois
class Account {
  private final String id;

  Account(String id) {
    this.id = id;
  }
}

##Por que refatorar

Você quer impedir qualquer alteração no valor de um campo.

##Como refatorar

  1. O valor de um campo deve poder ser alterado apenas no construtor. Se o construtor não contiver um parâmetro para definir o valor, adicione um.

  2. Encontre todas as chamadas ao setter.

    • Se uma chamada ao setter estiver localizada logo após uma chamada ao construtor da classe atual, mova seu argumento para a chamada do construtor e remova o setter.

    • Substitua as chamadas ao setter no construtor por acesso direto ao campo.

  3. Exclua o setter.