[Powered by Google Translate] In questo video, vedremo stile del codice, che è qualcosa
che è vicino e caro al mio cuore.
Stile descrive come il codice è formattato, che è
indipendentemente da quello che fa il codice in realtà.
Non solo buon stile di farti un voto migliore in CS50,
ma vi aiuterà anche a scrivere il codice che è molto più
leggibile e gestibile, che, alla fine della giornata,
sta per rendere la vita molto più facile.
>> I tre componenti principali di stile codice che parleremo
questo video sono i commenti, la formattazione,
e variabile nomi.
Cominciamo con i commenti.
Ricordate, i commenti non hanno alcun effetto sul
funzionalità del codice.
Servono solo come suggerimenti utili a noi come i programmatori.
Commenti positivi dovrebbero rispondere a una delle due domande.
>> In primo luogo, che cosa questo blocco di codice?
Questa è una breve descrizione e dolce allo scopo di
Le righe che seguono.
Ad esempio, potrebbe essere necessario trovare il luogo in cui si
implementato una funzione particolare per fissare un
bug o cambiare qualcosa.
Senza commenti, potrebbe essere necessario più di pori molte linee di
codice cercando di capire esattamente dove questa funzione è.
Oppure, se sono passati pochi giorni da quando hai guardato uno dei
i vostri programmi, non si potrebbe ricordare ciò che un particolare
funzione o loop fa.
Quindi commenti farà reacquainting te stesso con
vecchio codice, o far conoscere te stesso con qualcun altro
codice, molto più agevole.
La seconda domanda risponde un buon commento per questo ho fatto
attuare questo blocco in questo modo?
Come si scrive il codice, avrete spesso bisogno
per prendere decisioni di progettazione.
Dovrei usare un ciclo while o un ciclo for qui?
Devo fare questo blocco di codice in una funzione separata?
Uso di commenti, è possibile documentare il vostro disegno
decisioni, che renderanno il vostro codice più facile da capire
per gli altri, che si può essere se stessi chiedendo la stessa esatta
domande design, che leggono il tuo codice.
O anche voi stessi, se si torna a un blocco di codice dopo
certo periodo di tempo.
>> In C, e le altre lingue vedremo nel CS50, ci sono
due modi di aggiungere commenti al codice, in linea commenti
e commenti su più righe.
In linea i commenti sono l'ideale per documentare parti di codice
all'interno delle funzioni.
Per esempio, un filtro in linea commento potrebbe descrivere il
fine di un ciclo for o di un caso d'angolo che richiede
una condizione.
Commenti su più righe sono l'ideale per documentare le funzioni.
Ogni volta che si scrive una funzione, si dovrebbe sempre, sempre,
sempre documentare quello che fa con un commento.
Questo include quanto le immissioni alla funzione, cosa l'
output della funzione è, e forse perché la funzione è
attuato nel modo che è.
Ogni volta che si cambia la firma di una funzione, restituisce
valore, o l'attuazione, è importante aggiornare anche il
documentazione commento corrispondente.
Una mancata corrispondenza tra il commento di una funzione e
implementazione può essere davvero fonte di confusione per i lettori.
Allo stesso modo, la creazione di un multi-riga di commento in cima
di ciascuno. co file. h che scrivere, descrivendo ciò che il
file non, è anche una buona idea.
>> Come si sta commentando il codice, una delle prime domande a cui
potrebbe essere è, beh, quanto dovrei commentare il mio codice?
Spesso è necessario documentare ogni
singola riga di codice.
Ad esempio, una linea che dice int x = 5 non necessita di un
commenti su di esso che dice "impostato x a 5".
Non commentando abbastanza, anche se, come abbiamo visto, può fare
comprendere il codice molto difficile.
Quindi, una buona regola è quella di commentare blocchi interessanti
codice, dove un blocco composto da poche righe correlate.
>> Quindi diamo un'occhiata a un esempio.
Ecco una funzione C non commentata.
Ok, dal momento che si tratta di una funzione, la prima cosa che abbiamo bisogno di aggiungere
è un commento che spiega quali fattori della funzione
sono e che cosa fa.
Quindi aggiungiamo un multi-riga di commento.
Grande.
Ora sappiamo esattamente che cosa fa la nostra funzione.
Aggiungiamo alcune osservazioni in linea ora.
Possiamo dividere il codice in due blocchi di linee simili.
Linee 4 e 5 corde costrutti base all'input e
linee da 6 a 9 Uscita tali
stringhe all'interno dei testi delle canzoni.
Quindi cerchiamo di documentare che con i commenti.
Awesome.
Ora la nostra funzione è commentato.
>> Si noti che i nostri commenti in-line non è necessario utilizzare completo
frasi o terminare con un punto.
E 'importante che ci sia uno spazio tra la seconda barra obliqua
e l'inizio del commento.
Questa è la frequenza di osservazioni entro i tuoi programmi
che si dovrebbe essere riprese per.
Notate qui come ci siamo separati i due blocchi di codice relativo
all'interno della nostra funzione di coro con un ritorno a capo in più.
>> Questo ci porta al prossimo componente di stile del codice,
formattazione.
Quando ho iniziato la programmazione, mi ha colpito il tasto Invio
chiave molto di rado, che ha portato in gigante, illeggibile
macchie di codice.
Credo davvero offeso il mio compagno di insegnamento, dal momento che
non era troppo felice con me.
Visivamente raggruppare blocchi di codice relativo, utilizzando il trasporto
rendimenti, può rendere il codice più facile da sfogliare e chiaramente
delineare le linee di codice che i tuoi commenti sono spiegare.
Detto questo, diffondendo il vostro codice di troppo, come con
due o più linee tra blocchi di codice o funzioni, può
rendono anche molto meno leggibile.
>> Indentazione è un altro importante
aspetto del formato codice.
Sempre, sempre, sempre trattino il corpo di una funzione, ciclo,
o condizione.
Questo rende chiaro quali righe di codice sono all'interno di un
loop, per esempio, e che le linee di codice
sono al di fuori di questo.
CS50 consiglia di rientro con quattro spazi, ma
se si sceglie qualcosa di diverso, assicurarsi di essere coerenti
in tutto il codice.
In tal senso, CS50 consiglia di inserire le parentesi graffe
sulla propria linea.
In questo modo, le parentesi graffe si allineano visivamente alla stessa sinistra
margine, quindi è cristallina in cui un blocco inizia e finisce.
Tuttavia, è anche bene mettere parentesi sulla stessa linea come
condizione, per esempio, per risparmiare spazio.
In questo caso, però, assicuratevi di includere uno spazio
prima della parentesi graffa quindi non è smooshed accanto ad una chiusura
parentesi o una parola.
>> Qualunque sia la scelta, la cosa più importante è essere
costante in tutto il codice.
Quello che non vogliamo vedere, però, è
frastagliata parentesi graffe.
In questo modo rende le parentesi appaiono scollegati dalla
condizione, loop, o la funzione che stanno demarcazione, facendo
il codice difficile da leggere.
In C e le altre lingue vedremo, le parentesi graffe sono
opzionale per condizioni di linea singola o loop.
Va bene di omettere le parentesi graffe in questo caso, ma se
si esegue questa operazione, assicurarsi di essere coerenti
in tutto il codice.
>> Quando si definiscono le funzioni, CS50 consiglia di scrivere il
tipo restituito della funzione sulla stessa linea come il nome del
la funzione.
Tuttavia, è anche OK per scrivere il tipo di ritorno da solo
linea, che può rendere definizioni di funzioni facili da trovare in
alcuni editor di testo.
>> Infine, assicurarsi di includere spazi attorno
parole chiave e operatori.
Ad esempio, una linea che dice int x = 5 è molto più facile
leggere se ci sono spazi di tutto il segno di uguale.
Allo stesso modo, assicuratevi di avere uno spazio dopo le parole chiave come se,
per, e mentre.
Senza uno spazio, questi potrebbero apparire come chiamate di funzione,
che non sono.
>> Quindi diamo un'occhiata a un esempio di applicazione di buono stile
ad un blocco di codice mal formattato.
Ok, iniziamo dalla cima.
Possiamo vedere che la parentesi graffa di apertura del principale è sulla stessa
linea, come il nome della funzione.
Se abbiamo intenzione di fare questo, ci deve essere uno spazio tra
la parentesi di chiusura e la parentesi graffa, come questo.
Tuttavia, CS50 raccomanda che le parentesi stanno
sulla propria linea.
Allora, facciamo così.
Ora che siamo nel corpo della funzione principale, avremo bisogno
per avviare il rientro codice; useremo il
raccomanda quattro spazi.
Quindi, vediamo che non c'è spazio intorno al segno di uguale
qui, quindi cerchiamo di aggiungere che.
Qui, vediamo che non c'è spazio tra il se e la
aperta parentesi, quindi cerchiamo di aggiungere che, insieme ad un po 'di spazio intorno
il segno di maggiore.
Ancora una volta, vediamo non c'è spazio tra la parentesi di chiusura e
la parentesi graffa di apertura qui.
Se abbiamo intenzione di mettere questi sulla stessa linea, c'è bisogno di
essere uno spazio prima della parentesi graffa.
Tuttavia, sembra che il corpo del nostro
condizione è solo una linea.
Quindi non è necessario includere le parentesi graffe a tutti.
Ora dobbiamo essere sicuri di rientro al corpo di ciascuno di
le nostre condizioni.
Abbiamo sicuramente non vogliamo che questo ultima riga di essere sulla stessa
linea come gli altri, quindi cerchiamo di premere Invio e trattino.
Infine, la parentesi graffa di chiusura per le esigenze principali di essere in
propria linea.
>> Possiamo vedere qui abbiamo due diverse
blocchi di codice relativo.
Le linee da 4 a 6 richiedere all'utente per l'ingresso e la
linee rimanenti visualizzano che l'input per l'utente.
Quindi ha senso mettere un po 'di spazio tra questi due blocchi
per chiarezza.
E ci andiamo, ora questo codice è molto più facile da leggere con
buon stile.
>> Infine, parliamo la nostra terza componente di buono stile:
i nomi delle variabili.
I nomi delle variabili devono descrivere i
valore che essi rappresentano.
Rivediamo il nostro esempio precedente.
Bottiglie è un buon nome descrittivo per la variabile che
rappresenta il numero di bottiglie vengono lasciate sul muro.
Nomi come x o numBots non sono molto descrittivi e sono
non va bene per la leggibilità del codice.
Mentre le variabili denominate da una singola lettera sono comuni in
matematica e altri campi, possono rendere il codice molto difficile
da capire.
L'eccezione a questa regola è iteratore
variabili all'interno di loop.
In cicli for, ad esempio, è bene utilizzare la variabile
nomi come i, j, k e per l'iterazione.
Quando si creano le variabili iteratore all'interno di cicli, è
consiglia di farlo all'interno dello stesso ciclo, piuttosto
che al di fuori del ciclo, in modo da poter mantenere le variabili come
ambito strettamente possibile.
>> D'altra parte, un nome variabile come numero di bottiglie
lasciato sul muro è, mentre descrittivo, troppo lunghe
e non necessario.
Nel caso in cui si desidera creare una variabile con
più parole, separare le parole con caratteri di sottolineatura.
Ad esempio, is_ready è molto più leggibile di isReady.
Va bene a dichiarare più variabili sulla stessa riga.
Tuttavia, se lo fate, non inizializzare alcune variabili, ma
altri no.
Questo significa qualcosa come dimes int, penny
punto e virgola, è OK.
Ma int dimes = 0, penny
punto e virgola non è.
>> Infine, quando si dichiara puntatori, si consiglia
di posizionare l'asterisco accanto a Tipo del puntatore, non
il nome della variabile.
Così int * p è raccomandato piuttosto che int
spazio * p.
Whoo!
In modo che sembra un sacco di regole per
Ricordo, ma non preoccupatevi.
In caso di qualsiasi dubbio, non esitate a consultare il CS50
stile di guida in linea.
>> Vediamo rapidamente riassumere l'importante
punti di stile del codice.
In primo luogo, per commentare il codice.
Sempre, sempre, sempre descrivere quali funzioni non
con un multi-riga di commento e commentare ogni poche righe di
codice in linea.
Seconda.
Essere coerente con il codice di formattazione.
Prestare attenzione al vostro posizionamento e l'utilizzo di parentesi graffe
così come la spaziatura intorno le parole chiave e gli operatori.
Infine, scegliere i nomi delle variabili descrittive.
Le variabili devono descrivere il valore che essi rappresentano, ma
non si deve usare sempre di digitare.
>> E questo è tutto.
Tutto questo diventerà presto una seconda natura, come si
scrivere codice sempre di più, e ti verrà codifica
con stile in pochissimo tempo.
Il mio nome è Tommy, e questo è CS50.