Ragione dietro lo stile di dichiarazione multilinea?

7

Sono un po 'curioso del motivo dietro gli stili di dichiarazione dei file di intestazione di Windows.

Quando li ho letti, vedo dichiarazioni multi-linea come la seguente:

WINBASEAPI
HANDLE
WINAPI
GetStdHandle(
    IN DWORD nStdHandle
    );

Qual è la ragione principale per cui non vengono scritti come qualcosa di simile:

WINBASEAPI HANDLE WINAPI GetStdHandle(IN DWORD nStdHandle);

vale a dire. in una sola riga?

    
posta Mehrdad 02.10.2011 - 09:46
fonte

4 risposte

6

Non sono uno degli autori, ma ovviamente hanno pensato che questo stile fosse più leggibile che mettere tutto su una singola riga. Il vantaggio percepito di questo stile è che puoi trovare facilmente il nome, i qualificatori e i parametri di ogni funzione, perché sono sempre nella stessa posizione (profondità dell'indent).

Inoltre, quando si utilizzano strumenti di documentazione del codice come Doxygen , questo stile consente di aggiungere commenti di parametri ai parametri sulla stessa riga subito dopo ogni parametro, che (IMHO) li rende più facili da leggere e mantenere.

Anche con l'approccio a linea singola, spesso è necessario interrompere le linee quando diventano troppo lunghe. E nei file WinAPI, le dichiarazioni delle funzioni di looong sono piuttosto comuni :-) Quindi probabilmente ad un certo punto hanno deciso di avere un approccio "standard" su dove rompere quelle linee.

    
risposta data 02.10.2011 - 10:05
fonte
2

La ragione è probabilmente una convenzione per migliorare la leggibilità dei metodi con molti argomenti o modificatori. Quando sei abituato a una tale convenzione, diventa più facile analizzare mentalmente il codice. Inoltre, quando ci sono molti argomenti, puoi evitare lo scorrimento orizzontale, un'azione che interrompe un po 'il tuo processo di analisi mentale.

In breve: tutto a fini di leggibilità. Tieni presente che la leggibilità può essere soggettiva a volte.

    
risposta data 02.10.2011 - 10:04
fonte
1

Direi che sono scritti in questo modo a causa del limite di larghezza della linea di 80 caratteri imposto da alcuni standard di codice e da editor di modalità testo.

    
risposta data 02.10.2011 - 22:55
fonte
0

Personalmente preferisco leggere le dichiarazioni multilinea, indipendentemente dalla lingua.

Per esempio, sto lavorando con un partner su un progetto AI e stiamo scrivendo in C. Fa molto del suo codice come il tuo primo esempio e raramente usa newline vuote per separare loop e blocchi di istruzioni. Mi fa impazzire leggendo il suo codice!

    
risposta data 02.10.2011 - 13:57
fonte

Leggi altre domande sui tag