Alla fine di questa lezione, avrai la possibilità di iniziare effettivamente a scrivere codice semplice, non solo di modificare qualcosa di già predefinito!
Ma prima, ecco qualche informazione in più.
Che cosa fanno i bravi sviluppatori (invece di ricordare)
Uno sviluppatore esperto inserisce nel codice note che non fanno effettivamente parte del programma, ma commenti su ciò che ha fatto o perché lo ha fatto. Quando il programma viene eseguito, questi commenti vengono ignorati, ma le note del programmatore, chiamate commenti sul codice o semplicemente commenti, rimangono nel codice.
Commenti sul codice
L'aggiunta di commenti al codice è una buona prassi in generale, ma diventa particolarmente utile quando si è alle prime armi con la programmazione e si sta cercando di comprendere le cose mentre si procede. Questi commenti possono essere davvero utili per capire perché tu (o qualcun altro) ha fatto qualcosa.
Il modo più semplice per scrivere un commento sul codice è mettere un # davanti al commento, ma ci sono anche altri modi per farlo:
|
commento a riga singola: tutto ciò che appare tra # e la fine della riga fa parte del commento sul codice. |
|
Commento di blocco in linea: Tutto ciò che appare tra <# e #> fa parte del commento del codice. I commenti blocco in linea possono trovarsi tra espressioni su una sola riga e non modificano le espressioni. |
|
commento blocco su più righe: tutto ciò che appare tra <# e #> fa parte del commento sul codice. I commenti blocco su più righe possono estendersi su più righe. |
|
commento blocco nidificato: tutto ciò che appare tra <# e #> fa parte del commento sul codice e può essere nidificato. Può essere utile per aggiungere commenti ad alcune espressioni in una riga a scopo di test e debug, senza modificare un commento sul codice esistente. |
|
commento rientrato: tutto ciò che appare sulle nuove righe dopo <#> ed è rientrato di quattro spazi fa parte del commento sul codice. La prima riga che non è rientrata di quattro spazi non fa parte del commento sul codice e termina tale commento. |
Utilizzo di condizionali per prendere decisioni nel codice
Ricordi le espressioni if .. else della Lezione 2? Sono note come espressioni condizionali.
Le espressioni condizionali, o condizionali in breve, sono il modo in cui dici al programma di prendere decisioni.
L'espressione if verifica se qualcosa è riuscito o non riuscito. Alcuni codici potrebbero essere eseguiti se l'esito è positivo (riuscito). In caso di errore, viene eseguito altro codice.
Puoi considerarlo come un modo per porre al tuo programma una domanda sì o no.
Nella vita reale, prendi decisioni tutto il tempo in base alla risposta a una domanda sì o no. Ad esempio, non hai più tanta energia rimasta? Se la risposta è sì, vai a dormire. Se la risposta è no (else), rimani a guardare i cartoni animati.
Se dovessi programmare questo comportamento, potrebbe risultare come segue:
var Tired: logic = false
var WhatToWatch: string = "nothing"
if (Tired?):
set WhatToWatch = "le tue palpebre"
else:
set WhatToWatch = "cartoni animati"
Print("Devi guardare {WhatToWatch}")
# Dovresti guardare i cartoni animati
Hai notato quel punto interrogativo ? nell'espressione if? È così che un programma Verse controlla se un tipo di logic è true o false.
Nidificazione
Quando il codice è nidificato, significa che è rientrato sotto un'espressione di parole chiave come if o else. Queste espressioni creano un nuovo ambito.
L'ambito si riferisce a una porzione di codice in cui è possibile utilizzare i nomi e i valori associati. L'ambito è contenuto all'interno di un blocco di codice rientrato.
Ad esempio:
if (Tired?):
set WhatToWatch = "le tue palpebre"
else:
set WhatToWatch = "cartoni animati"
La riga set WhatToWatch = "your eyelids" è rientrata sotto la riga if (Tired?):. Lo stesso schema si ripete per la riga else:.
È possibile nidificare una singola riga di codice oppure un blocco (più righe) di codice.
Ciò significa che quando il codice viene eseguito, il codice nidificato viene eseguito soltanto nel contesto del codice in cui è nidificato.
Utilizzo di più condizioni
A volte è necessario porre più di una domanda prima di prendere una decisione. In Verse, questo viene fatto con gli operatori and e or. Questi ultimi sono definiti operatori decisionali.
Quando si usa and, le condizioni su entrambi i lati dell'operatore devono essere vere o devono avere esito positivo per consentire l'esito positivo dell'intera espressione.
Quando si utilizza or, una sola condizione deve essere vera o avere esito positivo per consentire l'esito positivo dell'intera espressione.
| Prima condizione | Operatore | Seconda condizione | Intera espressione |
|---|---|---|---|
| esito positivo | e | esito positivo | esito positivo |
| esito positivo | e | esito negativo | esito negativo |
| esito negativo | e | esito negativo | esito negativo |
| esito positivo | o | esito positivo | esito positivo |
| esito positivo | o | esito negativo | esito positivo |
| esito negativo | o | esito negativo | esito negativo |
Per vedere come funzionano questi operatori, rivediamo il codice.
Anche se non avverti stanchezza, potrebbe essere una buona idea andare a dormire se domani hai la scuola. Verifichiamolo creando una variabile denominata SchoolTomorrow e utilizzando or per controllare entrambe le variabili logic.
var Tired: logic = false
var SchoolTomorrow: logic = true
var WhatToWatch: string = "nothing"
if (Tired? or SchoolTomorrow?):
set WhatToWatch = "le tue palpebre"
else:
set WhatToWatch = "cartoni animati"
Print("Devi guardare {WhatToWatch}")
# Dovresti guardare le tue palpebre
Tired è ancora impostato su false, ma poiché SchoolTomorrow è impostato su true, l'intera espressione ha esito positivo e WhatToWatch viene impostato su "le tue palpebre".
C'è un altro modo per controllare più condizioni.
Utilizzando if ... else if ... else pone una sequenza alle cose che stai controllando. Ciò significa che se si controlla la prima condizione, è necessario controllare soltanto la condizione successiva se la condizione precedente non è riuscita.
Cosa succede se domani non c'è scuola e non avverti stanchezza? Potresti andare a vedere un film con i tuoi amici. Rivediamo il codice ancora una volta per vedere come funziona.
Aggiorna il valore della variabile SchoolTomorrow e dichiara una nuova variabile, FriendsAvailable.
var FriendsAvailable : logic = true
set SchoolTomorrow = false
Successivamente, dovresti aggiornare il codice per verificare se i tuoi amici sono disponibili, ma solo se non avverti stanchezza o non hai scuola domani.
if (Tired? or SchoolTomorrow?):
set WhatToWatch = "le tue palpebre"
else if (FriendsAvailable?):
set WhatToWatch = "un film con i tuoi amici"
else:
set WhatToWatch = "cartoni animati"
Perrrfetto! Ora dormi solo se avverti stanchezza o l'indomani devi andare a scuola. Se la risposta a entrambe le domande è no, guardi un film con i tuoi amici o stai a casa a guardare i cartoni animati se i tuoi amici non sono disponibili.
Pianificare le tue serate è diventato molto più semplice grazie a Verse.
Risoluzione dei problemi
Ricordi quando nella Lezione 1 hai imparato gli errori del compilatore?
Un'altra cosa che puoi incontrare quando scrivi codice sono i bug.
Bug
Un bug è un errore in un programma che porta a un risultato errato o inaspettato. L'effetto di un bug può essere minimo, come cambiare il colore del testo in un messaggio, o più evidente, come inviare il messaggio di testo allo schermo nel momento sbagliato, o addirittura causare il crash del programma.
Il termine è stato reso popolare da Grace Hopper, una delle prime pioniere dell'informatica, quando trovò una falena in un computer e la annotò nel suo registro di risoluzione dei problemi scritto a mano con il commento seguente: "Primo caso effettivo di rilevamento di un insetto (bug)".
Mentre gli errori del compilatore impediscono la compilazione di un programma, un bug non viene visualizzato fino a quando il programma non è in esecuzione.
Il processo di identificazione e rimozione dei bug è chiamato debugging e uno strumento che aiuta a trovare i bug è un debugger.
Riepilogo
- Utilizza commenti sul codice per ricordare perché hai scritto il codice in un modo specifico e per aiutare gli altri programmatori a capire cosa hai fatto e perché.
- Utilizza costanti per i valori che devono rimanere costanti per tutto il programma.
- Utilizza variabili per i valori che dovrebbero cambiare in base all'input.
- Bug ed errori di compilazione sono causati da errori nel codice.