Manuali di bello scrivere

Non c’è solo la leggibilità come obiettivo da raggiungere nella scrittura di un codice sorgente. C'è anche l'adesione ad un modello, ad uno stile riconosciuto.

Ci sono discussioni infinite su come e quanto vada indentata una riga di codice (vedi Convenzioni Tipografiche). Indentare significa spostare l’inizio di una riga di codice a destra, in modo che si capisca a quale livello della struttura del codice corrisponde. Ad esempio, in questo frammmento di codice:

sub fact {
    my $n = shift;
    reduce { $a * $b } 1, 1 .. $n
}
    
il ramo principale del programma è la subroutine che ha come nome “fact”; le due righe sottostanti sono il contenuto della subroutine (cioè sono foglie di quel ramo). Questa informazione, dal punto di vista dell'interprete, è contenuta nella due parentesi graffe; dal punto di vista del programmatore è affidata anche all'indentazione, che crea una specie di linea verticale immaginaria che unisce "sub fact" con la parentesi graffa di chiusura.

Usare o meno gli spazi (e quanti spazi usare), oppure usare le tabulazioni sembrerebbe una questione di preferenze personali.

Invece esistono dei veri manuali di bello scrivere (per un linguaggio, o per un progetto, come il Kernel di Linux) che lo stabiliscono quanti spazi usare, oppure se la parentesi di apertura deve essere inserita alla fine della riga che dà il nome alla funzione o invece in una nuova riga come quella di chiusura:

sub fact {
    my $n = shift;
    reduce { $a * $b } 1, 1 .. $n
}   

sub fact 
{
    my $n = shift;
    reduce { $a * $b } 1, 1 .. $n
}   
Che tipo di fatti sono questi? Linguistici, stilistici, sociologici? Di certo non appartengono alla computer science, perché per l'interprete (o il compilatore) tutto questo non è che un sogno.

Prossima stanza:  Arte



Versione: 02/02/2022 - 12:21:38

Parole: 158

Pannelli

Stili                       
Convenzioni Tipografiche    
Commenti                    
Altri commenti              
Literate programming        
Paradigmi                   
Nomi                        
Manuali                     
🔎