Una delle cose carine nell'usare i delimitatori di blocchi (ie: parentesi graffe nei linguaggi C-Styled o inizio / fine nelle lingue simili a Pascal) è che quando usate singolarmente e su una linea separata, introducono uno spazio bianco addizionale in il tuo codice. Ora, senza entrare in una battaglia per appendere le parentesi graffe contro le scelte di stile inline-brace, il punto è semplicemente che nella misura in cui al compilatore non interessa in alcun modo, aggiungere un po 'di spazio in più aiuta a migliorare la leggibilità (in particolare per quelli di noi con occhi che non sono così giovani come erano in passato !!). È lo stesso trucco che usi quando crei un curriculum. Più spazio bianco fa risaltare meglio le cose da soli.
Gli altri motivi per usare i delimitatori di blocchi è quello di rendere assolutamente chiaro dove qualcosa inizia e finisce. Certo, puoi fare quanto segue:
DoTheFirstThing();
if (condition)
DoSomething();
DoSomethingElse();
Tuttavia, durante la lettura del codice, gli occhi possono facilmente saltare il codice e si finisce col fare ipotesi su ciò che si è verificato come parte dell'istruzione if. Se invece dovessi aggiungere un paio di parentesi graffe:
DoTheFirstThing();
if (condition)
{
DoSomething();
}
DoSomethingElse();
stai rendendo più chiaro dove il blocco if inizia e finisce. Naturalmente, se sei pedante riguardo alla tua indentazione, potresti obiettare che è sufficiente un semplice indent. Certo, se sei abituato ad usare un linguaggio come Python, potresti essere abituato a prestare particolare attenzione alla tua indentazione, ma rende davvero le cose molto più chiare? Diamo un'occhiata ad un paio di altri esempi. Decidi quale se la dichiarazione si distingue come la più chiara quando fai una rapida occhiata a quanto segue:
DoTheFirstThing();
if (condition)
DoSomething();
DoSomethingElse();
DoTheSecondThing();
if (condition)
{
DoSomething();
}
DoSomethingElse();
Ora fai lo stesso dell'esempio precedente, con questo:
DoTheFirstThing();
if (condition)
DoSomething();
DoSomethingElse();
DoTheFirstThing();
if (condition)
{
DoSomething();
}
DoSomethingElse();
Tra i due esempi, spicca l'ultima istruzione if con la maggiore quantità di spazi bianchi, e il codice appare più chiaro, anche se è esattamente lo stesso.
Quindi, per rispondere davvero alla domanda dell'OP, è Cattivo mettere insieme le cose ed evitare parentesi? La mia risposta è no, e penso che chiamarla brutta o povera o qualche altra negativa la stia mettendo un po 'strong. Il compilatore non interessa molto e il codice funzionerà esattamente allo stesso modo. Tuttavia, è sicuramente più leggibile se si aggiungono le parentesi graffe e viene mostrato più chiaramente lo scopo dell'istruzione If. Ancora più importante, forse, è che dimostra che stai prestando un po 'di attenzione per garantire la qualità del tuo lavoro. È come la differenza tra dipingere rapidamente una parete con un pennello largo una volta, o usare un rullo e applicare con cura due mani di vernice. Proprio come è importante guardare il finish di un lavoro di pittura, quindi con la cura extra nel codice mostra che sei disposto a prendersi del tempo per assicurarti che gli altri non abbiano difficoltà a leggere attraverso il tuo lavoro. Questo si ripaga quando è necessario rivisitare il codice mesi o anche anni dopo, o quando qualcun altro ha bisogno di supportare il codice dopo aver finito.
Il codice attentamente scritto, pulito e leggibile ispira fiducia nel codice, mentre il codice dall'aspetto disordinato di solito ispira un atteggiamento orribile e troppo difficile da lavorare verso il codice. L'attenzione ai dettagli mostra una differenza tra l'attento professionista e il programmatore meno attento. Ispira la fiducia nel tuo lavoro ed è un piacere lavorare con.