Code Smell 01 - Modelli anemici

I tuoi oggetti sono un mucchio di attributi pubblici senza comportamento.

Foto di Stacey Vandergriff su Unsplash

Il protocollo è vuoto (con setter / getter ).

Se chiediamo a un esperto di dominio di descrivere un'entità, difficilmente dirà che è "un mucchio di attributi" .

I problemi

  • Nessun incapsulamento.
  • Nessuna mappatura alle entità del mondo reale.
  • Codice duplicato
  • Accoppiamento

1) Trova responsabilità.

2) Proteggi i tuoi attributi.

3) Nascondi implementazioni.

4) Delegato

Esempi

  • DTO

Sbagliato

Destra

Rilevamento

Il rilevamento può essere automatizzato con sofisticati linter che ignorano setter e getter e contano metodi di comportamento reali.

Conosciuto anche come

  • Classe di dati
  • Anemico
  • OOP come dati
  • Incapsulamento
  • Setter / Getters
  • Mutabilità
Come trovare le parti puzzolenti del tuo codice

Suggested posts

Ricerca di informazioni sui nomi di dominio

Un estratto da Small, Sharp Software Tools di Brian P. Hogan

Ricerca di informazioni sui nomi di dominio

Quando fai una richiesta a facebook.com, il tuo computer cerca il nome di dominio per tradurre quel nome di dominio in un indirizzo IP in modo che il tuo computer possa effettuare quella connessione.

La parola D e la parola L in UI Design. Questioni linguistiche. Non essere razzista.

La parola D e la parola L in UI Design. Questioni linguistiche. Non essere razzista.

La nostra lingua è uno strumento potente che può modellare i nostri pensieri, atteggiamenti e azioni. Anche termini apparentemente innocui possono perpetuare pregiudizi e stereotipi dannosi.

Related posts

Niente più password: come le passkey sostituiranno la tua password

Niente più password: come le passkey sostituiranno la tua password

Per evitare ambiguità verranno utilizzati i seguenti termini; Autenticatore; Il telefono cellulare utilizzato per effettuare il login Sito web; Il sito Web o l'applicazione che l'utente sta utilizzando per effettuare la richiesta di accesso al Servizio; Il fornitore che fornisce il servizio dato, ad es

Journal Ouvert

Journal Ouvert

Diario aperto: una foto al giorno. Sono sempre stato affascinato dalle storie.

L'assassinio di Jordan Neely e il problema del razzismo "patriottico".

Gli Stati Uniti possono fare il passo essenziale per non equiparare il comportamento razzista all'essere un buon americano?

L'assassinio di Jordan Neely e il problema del razzismo "patriottico".

[Avviso di attivazione: questo saggio include schermate di persone che elogiano l'assassino di Jordan Neely.] I funzionari delle forze dell'ordine hanno finalmente - e forse con riluttanza - accusato Daniel Penny, l'uomo che ha soffocato Jordan Neely fino alla sua morte, per quell'omicidio.

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Tieni traccia di chiunque abbia solo un numero di telefono | Indagine OSINT

Puoi essere un investigatore OSINT, un giocatore CTF o semplicemente qualcuno che riceve chiamate spam. Qualcuno che sta cercando di verificare il numero che hai visto in una pubblicità.