Capitolo 1. Clausole di guardia
Questo lavoro è stato tradotto utilizzando l'AI. Siamo lieti di ricevere il tuo feedback e i tuoi commenti: translation-feedback@oreilly.com
Vedi un codice come questo:
if (condition)
...some code...
O meglio ancora, questo:
if (condition)
if (not other condition)
...some code...
Come lettore, è facile che si perda nelle condizioni annidate. Tidy ha ridotto quanto sopra a:
if (not condition) return if (other condition) return ...some code...
Questo è più facile da leggere. Dice: "Prima di entrare nei dettagli del codice, ci sono alcune condizioni preliminari che dobbiamo tenere a mente".
(Ma che dire dei ritorni multipli? La "regola" di avere un unico ritorno per una routine deriva dai tempi del FORTRAN, dove una singola routine poteva avere più punti di ingresso e di uscita. Era quasi impossibile eseguire il debug di questo tipo di codice. Non si poteva sapere quali istruzioni venivano eseguite. Il codice con le clausole di guardia è più facile da analizzare perché le precondizioni sono esplicite).
Non esagerare con le clausole di protezione. Una routine con sette o otto clausole di protezione (l'ho vista in giro) non è più facile da leggere. Ha bisogno di una cura più acuta per suddividere la complessità.
Tidy si collega a una clausola di guardia solo se il prompt viene rispettato con precisione:
if (condition)
...all the rest of the code in the routine...
Vedo del codice che vorrei riordinare ma non ci riesco:
if (condition) ...some code... ...some ...