Skip to content

Commit

Permalink
Use 3 backticks instead of 1 for code snippet
Browse files Browse the repository at this point in the history
  • Loading branch information
mrkrash committed May 28, 2024
1 parent 215a719 commit b9108bc
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions docs/it/refactoring.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,17 @@ Ad esempio potremmo avere un metodo che, nella prima stesura, aveva necessità d
Un altro caso può essere quello in cui un metodo necessiti di numerose informazioni che potrebbero essere accorpate in uno o più aggregati. Questo è particolarmente vero nei linguaggi tipizzati, dove potremmo verificare la possibilità di rendere detta firma più stringente, aggregando e/o restituendo tipi meno generici.

Prendiamo ad esempio la seguente funzione:
`function updateAddress(userId: number, street: string, city: string, zipCode: string, country: string): void {}`

```
function updateAddress(userId: number, street: string, city: string, zipCode: string, country: string): void {}
```

Questa funzione potrebbe essere semplificata tramite l'introduzione di un aggregato/tipo `Address` che possa racchiudere al proprio interno tutte le informazioni necessarie:
`function updateAddress(userId: number, address: Address): void {}`

```
function updateAddress(userId: number, address: Address): void {}
```

In questi casi, possiamo rimuovere le informazioni in eccesso piuttosto che sostituirle con nuovi formati, modificando di fatto la firma del metodo.
C'è però da prestare particolare attenzione a questa pratica: se modificare la firma su un piccolo progetto personale è quasi privo di controindicazioni, farlo su un ambiente su cui lavorano più persone o da cui dipendono altri software su cui non abbiamo modo di intervenire, può creare non pochi problemi. Prendete il caso di una libreria utilizzata da più team: il cambiamento di una singola firma causerebbe il mancato funzionamento di tutti i software che dipendono da essa.
Questo non significa che non sia possibile farlo ma che bisogna agire con maggiore cautela, adottando un giusto percorso di _deprecation_. Deprecare una firma, o parte di essa, indicando quando quella firma stessa terminerà di funzionare e quali alternative adottare, dando quindi la possibilità a chi utilizza il nostro software e quel metodo in particolare di adeguarsi, è di sicuro la strada da seguire.
Expand Down

0 comments on commit b9108bc

Please sign in to comment.