Delineare la soluzione per l'attività di sfida relativa al miglioramento della leggibilità del codice
Il codice seguente costituisce una possibile soluzione alla sfida presentata nell'unità precedente.
/*
This code reverses a message, counts the number of times
a particular character appears, then prints the results
to the console window.
*/
string originalMessage = "The quick brown fox jumps over the lazy dog.";
char[] message = originalMessage.ToCharArray();
Array.Reverse(message);
int letterCount = 0;
foreach (char letter in message)
{
if (letter == 'o')
{
letterCount++;
}
}
string newMessage = new String(message);
Console.WriteLine(newMessage);
Console.WriteLine($"'o' appears {letterCount} times.");
Questo codice rappresenta semplicemente "una possibile soluzione". Potrebbero essere presenti alcuni nomi di variabili diversi e una spaziatura verticale e un rientro di tabulazioni diversi. Ecco un elenco delle modifiche apportate.
- In un commento su più righe nella parte superiore il codice include una descrizione più generale delle operazioni che l'intero listato di codice prova a eseguire. Potrebbe sembrare un miglioramento di lieve entità rispetto ai commenti del codice originali, tuttavia, data la descrizione del codice della sfida, il contesto su cui poter intervenire era molto ridotto.
- I singoli commenti sono stati rimossi perché non fornivano informazioni reali sullo scopo o sulla funzione del codice.
- Sono state aggiunte alcune righe vuote per migliorare la formulazione del listato di codice. Tenere insieme le righe di codice quando appaiono simili o quando lavorano insieme per completare una piccola attività.
- Sono stati aggiunti feed e schede di riga per migliorare l'aspetto dell'istruzione
foreache dell'istruzioneif. - Sono state applicate le convenzioni di denominazione delle variabili locali per esprimere meglio lo scopo di ogni valore.
Se hai identificato gli stessi problemi e li hai risolti in modo simile, congratulazioni! È possibile continuare al test di conoscenza nell'unità successiva.
Importante
Se si verificano problemi durante il completamento di questa sfida, è consigliabile esaminare le unità precedenti prima di continuare.