2010-04-29 11 views
5

se abbiamo troppo codice commentato in .net avrebbe effetto sulle prestazioni del codice?Se abbiamo troppo codice commentato in .net avrebbe effetto sulle prestazioni del codice?

+0

Puoi fornire un esempio di tale codice con commenti? – Marcel

+4

Ma molti commenti influenzeranno la tua manutenzione, perché probabilmente hai sovrastenunciato il tuo codice (altrimenti non avresti avuto questo come preoccupazione - e hai posto una domanda al riguardo) –

+1

Evita anche gli spazi vuoti - danneggiano le prestazioni quanto i commenti. Ciò include il carattere '\ n'! –

risposta

16

Effetto solo il tempo necessario per compilare il codice (dal compilatore C#/VB) a IL. Per C# e VB.NET non c'è alcuna differenza nelle prestazioni di runtime, garantita.

14

Quasi tutte le lingue compilate scartano commenti durante la creazione del binario risultante (questo include tutti i linguaggi .NET, Java, lingue non gestite, ecc.).

I linguaggi interpretati (come JavaScript, quando non compilati), possono avere un piccolo calo di prestazioni, poiché l'interprete deve saltare i commenti. Ma è così piccolo che non dovresti preoccuparti di questo.

La vera domanda è perché è necessario avere così tanti commenti? Un eccesso di commenti può danneggiare la leggibilità e quindi la manutenibilità. I commenti dovrebbero essere concisi, precisi e concisi e non dovrebbero indicare l'ovvio (ad esempio i++; // increment loop counter). Dovrebbero aiutare a spiegare perché è stato fatto qualcosa (casi limite, hack), descrivere come e quando usare il codice (documentazione API) o spiegare il succo di ciò che sta accadendo nel metodo o nella classe. Se il codice non è leggibile, provare a rifarlo. Se esistono processi aziendali complessi, descriverli in modo approfondito nella documentazione del progetto appropriata, non nei commenti al codice. Inoltre, non lasciare una grande quantità di codice di commento, danneggia ulteriormente la leggibilità. Se non è più necessario, rimuoverlo - il codice rimosso dovrebbe esistere comunque nel controllo del codice sorgente.

+1

+1 per la risposta migliore. Decisamente migliore di "garantito" :) – Kobi

+0

Assolutamente, questo è molto meglio della mia risposta. Dovrebbe essere contrassegnato come risposta dall'OP. – Steven

1

Le lingue interpretate comuni verranno eseguite a causa di ulteriori commenti nel codice. Ma C# è un linguaggio compilato e i commenti non influenzano l'esecuzione. All'inizio della compilazione, i compilatori rimuovono tutte le righe che iniziano con i caratteri // e anche il testo tra i delimitatori/* e * /. Quindi non ci sarà alcun degrado delle prestazioni.

3

Niente affatto. Il bytecode IL risultante sarà lo stesso, con o senza commenti, con o senza indentazione, ecc.

Problemi correlati