La maggior parte delle guide di stile C# consigliano lo stile/* ... */per i commenti, in favore di // o ///. Perché lo stile precedente deve essere evitato?Stile di codifica C#: commenti
risposta
Non direi che ho una forte opinione contro entrambi - ma IMO il problema più grande è che /*
e */
si incasinano se lo hai annidato, con l'effetto collaterale che non puoi copiare/incollare blocchi attorno in modo sicuro (abbastanza).
È possibile finire facilmente con il codice errato commentato/abilitato oppure finire con il non compilare perché si è finito con uno /* /* */ */
.
Se si copia un blocco di //
in giro, nessun danno - solo quelle righe rimangono commentate.
Non si annidano correttamente. –
@Justin: esattamente ;-p –
/* */
va bene per i blocchi di codice a più linee. Ad esempio nella parte superiore di un file di codice, informazioni sul copyright ecc.
//
è più semplice per la linea singola.
Utilizzare sempre ///
per almeno tutti i membri pubblici in una classe in quanto la documentazione XML viene generata da quella da cui è possibile creare file della guida.
Penso che si commenta come si desidera dal momento che molti di noi stanno commentando tramite scorciatoie in Visual Studio. Io uso ctr+K, ctrl+C
tutte le righe selezionate sono rese comode e ctr+K ctrl+U
per decommentare le righe selezionate.
Non è CTRL + E, C e CTRL + E, U? –
sì alcuni VS hanno questa combinazione ma non so come la mia usi quella per ogni installazione che ho fatto da solo. Qualcosa è con la mia Carma :). –
La mia ipotesi è perché si richiede una sintassi esplicita su OGNI riga e si creano commenti che possono commentare ampie sezioni di codice se la chiusura */
non viene utilizzata. Non è altrettanto sicuro.
La mia opinione è che "//" è solo più facile da digitare a/**/
+1 per non farmi girare intorno alla tastiera per colpire shift-8 –
Io uso sempre il tastierino numerico e * dove sono proprio l'uno accanto all'altro senza l'uso di Maiusc. – JulianR
Un esempio che viene in mente è che è possibile interrompere accidentalmente un commento /*
stile. Ad esempio
/* This is the start of a comment that documents the
behavior of the +-*/ operators in our program
*/
Questo codice non compilazione, mentre la variante //
sarebbe. Anche lo ///
rappresenta uno stile specifico di documentazione a cui gli strumenti esterni rispondono in modo diverso.
Penso che il /* */
alla fine farà il giro del Dodo perché in Visual Studio è sufficiente selezionare un blocco di codice e premere CTRL-E, C per commentarlo usando lo stile //
.
+1 Picchiami. :) – Dusty
Ctrl + Alt +/in Resharper o/o 'in CodeRush. –
Uso sempre // per i commenti effettivi, mentre salvo il/* */per il codice che non desidero eseguire temporaneamente per scopi di debug/sviluppo.
Utilizzando solo //, quindi si può essere certi di poter commentare un grande blocco di linee/metodi, ecc. Senza annidare i commenti e fare piangere il compilatore.
Ci sono alcuni motivi per preferire // a/* .. * /.
- Come accennato da JaredPar, ci sono strani problemi di annidamento dei commenti che possono emergere con/* */utilizzo.
- Se scrivete/scrivete del codice che elabora file di codice sorgente, sarete davvero felici se il metodo // è tutto ciò che dovete affrontare.
- È molto più facile rilevare visivamente un grande blocco di codice commentato con il metodo "//", in particolare se la colorazione della sintassi non è disponibile. In effetti, vedrai spesso le singole righe in un blocco/* */con prefisso *, solo per sicurezza.
- Lo stile di commento XML che può essere utilizzato per produrre la documentazione del codice richiede l'utilizzo di "///".
Una cosa che/* * può fare che // non può è commentare una parte interna di una linea. Io a volte lo uso per commentare un parametro da un metodo in cui qualcosa non è ovvia:
point = ConvertFromLatLon(lat, lon, 0.0 /* height */) ;
In questo caso la costante, 0.0, viene passato come terzo parametro è che rappresenta l'altezza. Naturalmente questo potrebbe essere migliore:
double height = 0.0;
point = ConvertFromLatLon(lat, lon, height) ;
(io sono più propensi a utilizzare il/* */intra-line temporaneamente, per provare appena fuori il superamento di un valore specifico.)
- 1. Stile di codifica Java
- 2. Controllo stile di codifica per C
- 3. I commenti C++ sono considerati di cattivo stile in C?
- 4. Espressione regolare per trovare commenti del blocco di stile C
- 5. Stile di codifica F # e standard
- 6. Commenti XML in stile C# in Delphi 2010
- 7. Domande sullo stile di codifica dello schema
- 8. Guida allo stile di codifica di TypeScript?
- 9. Qual è lo stile di codifica migliore?
- 10. Feedback sullo stile di codifica Ruby/ChefSpec
- 11. Stile di codifica del kernel Linux
- 12. stile di codifica standard per Android
- 13. Processing commenti guscio in stile in JSON
- 14. complemento automatico commenti Xcode (stile appledoc)
- 15. Domande di codifica C/C++
- 16. usare IE commenti condizionali all'interno di un foglio di stile
- 17. Stile di codifica F #: metodi statici o istanza
- 18. Boost :: asio cos'è questo strano stile di codifica?
- 19. XXX in C++ commenti
- 20. Cambia stile di codifica delle parentesi graffe in QtCreator
- 21. qual è la // @include in C++ commenti
- 22. Combinatori di Parser Scala: Parse in modo efficiente Commenti in stile C
- 23. Analisi di commenti in single-line in stile C con Antlr
- 24. Qualcuno ha pubblicato degli standard di codifica C# 4/linee guida/guide di stile?
- 25. C++ stile di codifica buono - qualifica sempre completamente i tipi di libreria?
- 26. Perforce e Jenkins cambiano i commenti codifica viziata
- 27. Standard di codifica Objective-C?
- 28. C# codifica/decodifica di blowfish
- 29. Analizzatore di stringhe di commenti Doxygen C++ in python?
- 30. C direttiva #error e commenti
dovrebbe essere una comunità wiki ... – Achilles
@Achilles ... perché? – Brandon
@Brandon, perché la risposta è una questione di preferenza. – James