Skip to content

Commit aab5ba7

Browse files
authored
Merge pull request #170 from longo-andrea/feature/comments
Comments
2 parents 85720d1 + d629213 commit aab5ba7

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

1-js/03-code-quality/03-comments/article.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Commenti
22

3-
Come abbiamo già appreso dal capitolo <info:structure>, i commenti possono essere di una singola-riga: ed iniziano con `//` oppure multilinea: `/* ... */`.
3+
Come abbiamo già appreso dal capitolo <info:structure>, i commenti possono essere di una singola riga: ed iniziano con `//` oppure multilinea: `/* ... */`.
44

55
Normalmente li utilizziamo per descrivere come e perché funziona il codice.
66

@@ -20,11 +20,11 @@ code;
2020

2121
Nel buon codice la quantità di commenti "esplicativi" dovrebbe essere minima. In realtà il codice dovrebbe essere facile da comprendere anche senza.
2222

23-
C'è una bellissima regola a riguardo: "Se il codice è cosi poco chiaro da richiedere un commento, probabilmente dovrebbe essere riscritto".
23+
C'è una bellissima citazione a riguardo: "Se il codice è cosi poco chiaro da richiedere un commento, probabilmente dovrebbe essere riscritto".
2424

2525
### Ricetta: raccogliere in una funzione
2626

27-
Qualche volta può essere un beneficio rimpiazzare un pezzo di codice in una funzione, come in questo esempio:
27+
Qualche volta può essere un beneficio rimpiazzare un pezzo di codice con una funzione, come in questo esempio:
2828

2929
```js
3030
function showPrimes(n) {
@@ -65,7 +65,7 @@ function isPrime(n) {
6565
}
6666
```
6767

68-
Ora possiamo capire il codice più facilmente. La funzione stessa diventa un commento. Questo tipo di codice viene definito *self-descriptive* (auto-descrittivo).
68+
Ora possiamo capire il codice più facilmente. La funzione stessa diventa un commento. Questo tipo di codice viene definito *auto-descrittivo*.
6969

7070
### Ricetta: creare funzioni
7171

@@ -79,7 +79,7 @@ for(let i = 0; i < 10; i++) {
7979
add(drop, glass);
8080
}
8181

82-
// qui aggiungiamo della spremuta (juice)
82+
// qui aggiungiamo della spremuta
8383
for(let t = 0; t < 3; t++) {
8484
let tomato = getTomato();
8585
examine(tomato);
@@ -111,16 +111,16 @@ function addJuice(container) {
111111
}
112112
```
113113

114-
Ripeto nuovamente, le funzioni stesse dicono cosa andranno a fare. Inoltre la struttura del codice è migliore quando è spezzata. E' chiaro cosa ogni funzione faccia, cosa richiede e cosa eventualmente ritorna.
114+
Ripeto nuovamente, le funzioni stesse dovrebero dire cosa sta succedendo. Non dovrebbe esserci alcun bisogno di commenti. Inoltre anche l'architettura del codice è migliore quando è spezzata. Rende più chiaro lo scopo di ogni funzione.
115115

116-
Nella pratica, non possiamo evitare del tutto i commenti "esplicativi". Ci sono algoritmi molto complesso. E ci sono vari "trucchi" con lo scopo di ottimizzare questo tipo di commenti. In linea di massima dovremmo però cercar di tenere il codice semplice ed auto-descrittivo.
116+
Nella pratica, non possiamo evitare del tutto i commenti "esplicativi". Ci sono algoritmi molto complessi. E ci sono vari "trucchi" con lo scopo di ottimizzare questo tipo di commenti. In linea di massima dovremmo però cercare di tenere il codice semplice ed auto-descrittivo.
117117

118118
## Buoni commenti
119119

120120
Quindi, solitamente i commenti esplicativi sono sbagliati. Quali sono allora i commenti giusti?
121121

122122
Descrivere l'architettura
123-
: Fornire un visuale di alto livello dei componenti, come interagiscono, come si comporta il flusso d'esecuzione in certe situazioni... In breve -- gli "occhi d'aquila" del codice. C'è uno speciale linguaggio schematico [UML](http://wikipedia.org/wiki/Unified_Modeling_Language) per schematizzare ad alto livello. Assolutamente da conoscere.
123+
: Fornire un visuale di alto livello dei componenti, come interagiscono, come si comporta il flusso d'esecuzione in certe situazioni... In breve -- gli "occhi d'aquila" del codice. Esiste uno speciale linguaggio di schematizzazione, [UML](http://wikipedia.org/wiki/Unified_Modeling_Language) per per la descrizione dell'architettura ad alto livello. Da studiare assolutamente.
124124

125125
Documentare l'utilizzo di una funzione
126126
: Esiste una particolare sintassi [JSDoc](http://en.wikipedia.org/wiki/JSDoc) per documentare le funzioni: utilizzo, parametri, valori di ritorno.
@@ -141,7 +141,7 @@ Documentare l'utilizzo di una funzione
141141

142142
Questi commenti ci consentono di capire lo scopo della funzione e come utilizzarla correttamente senza guardarne il codice.
143143

144-
In ogni caso, molti editor come [WebStorm](https://www.jetbrains.com/webstorm/) li comprendono e possono quindi utilizzarli per autocomplete e alcune verifiche automatiche del codice.
144+
I molti casi, gli editor come [WebStorm](https://www.jetbrains.com/webstorm/) sono in grado di comprenderli e possono quindi utilizzarli per autocompletamenti e alcune verifiche automatiche del codice.
145145

146146
Ci sono anche tool come [JSDoc 3](https://github.com/jsdoc3/jsdoc) che possono generare documentazione in HTML a partire dai commenti. Puoi scoprire di più riguardo JSDoc su <http://usejsdoc.org/>.
147147

@@ -151,20 +151,20 @@ Perché l'azione viene risolta in quel modo?
151151
Se ci sono diverse modalità di risolvere una determinata azione, perché si è scelta questa? Specialmente quando non risulta la scelta più ovvia.
152152

153153
Senza dei commenti si potrebbero generare le seguenti situazioni:
154-
1. Tu (o un tuo collega) apre il codice un di tempo dopo, lo guarda e pensa che il codice è "poco ottimale".
155-
2. Voi stessi potreste pensare: "Quanto stupido sono stato qui, e quanto intelligente sono adesso", e riscriverla utilizzando "la più ovvia e corretta" variante.
156-
3. ...Lo stimolo di riscriverla sarebbe corretto. Ma quando l'avete scritta vi siete resi conto che la soluzione "più ovvia" era effettivamente peggiore. Andando a rileggerla potreste non ricordarvi neanche perché. Quindi dopo averla riscritta vi rendete conto che è meglio tornare indietro, avete sprecato tempo.
154+
1. Tu (o un tuo collega) apri il codice un po' di tempo dopo, lo guardi e pensi che il codice è "poco ottimizzato".
155+
2. Tu stesso potresti pensare: "Quanto stupido sono stato qui, e quanto intelligente sono adesso", e riscriverla utilizzando la variante "più ovvia e corretta".
156+
3. ...Lo stimolo di riscriverla sarebbe forte. Ma quando l'hai scritta ti eri reso conto che la soluzione "più ovvia" era effettivamente peggiore. Andando a rileggerla potresti non ricordarti neanche perché. Quindi dopo averla riscritta ti rendi conto che è meglio tornare indietro, hai sprecato tempo.
157157

158158
Commenti che spiegano la soluzione sono fondamentali. Vi aiutano a sviluppare mantenendo sempre la strada corretta.
159159

160160
Ci sono alcune piccolezze? Dove vengono utilizzate?
161-
: Se il codice contiene sottigliezze contro-intuitive, vale certamente la pena commentarle.
161+
: Se il codice contiene sottigliezze contro intuitive, vale certamente la pena commentarle.
162162

163163
## Riepilogo
164164

165-
Un importante valore che possiede un bravo sviluppatore sono i commenti: la loro presenza o assenza.
165+
Un importante qualità che deve possedere un bravo sviluppatore, è quella di saper scrivere dei buoni commenti.
166166

167-
I buoni commenti ci consentono di mantenere bene il codice, di poterci tornare dopo un di tempo e capire le scelte prese.
167+
I buoni commenti ci consentono di mantenere il codice in uno stato ottimale, e di poterci tornare dopo un po' di tempo e capire le scelte prese.
168168

169169
**Commenti utili:**
170170

0 commit comments

Comments
 (0)