L'ho visto molto nel codice, anche Vim lo segna come un caso speciale. #TODOe #FIXMEsono altri due marcatori di correzione vim highlights ma cosa #XXXsignifica?
L'ho visto molto nel codice, anche Vim lo segna come un caso speciale. #TODOe #FIXMEsono altri due marcatori di correzione vim highlights ma cosa #XXXsignifica?
Risposte:
XXXin un commento è di solito un avvertimento. Potrebbe essere:
Ho spesso preferito un tag più descrittivo come FIXMEo TODOo HACK. XXXè spesso usato come un fermo tutto per quanto sopra.
Cercare 'XXX' nel riferimento incrociato del codice di FreeBSD è un buon esempio di molti degli usi. Ce ne sono migliaia ...
TODOo XXXinvece), ma è così che lo interpreterei.
NOTE: Descrizione di come funziona il codice (quando non è evidente).XXX: Avviso di possibili insidie, può essere utilizzato come NOTE:XXX:.HACK: Codice non ben scritto o non valido per eludere un problema / bug. Dovrebbe essere usato come HACK:FIXME:.FIXME: Funziona in un certo senso, ma potrebbe essere fatto meglio. (di solito codice scritto in fretta che deve essere riscritto).BUG: C'è un problema qui.TODO: Nessun problema, ma è necessario scrivere un codice aggiuntivo, di solito quando si salta qualcosa.Almeno è così che mi hanno insegnato questi tag. Fondamentalmente i primi due ( NOTEe XXX) sono usati per informazione e non è richiesta alcuna azione. Mentre gli ultimi tre ( FIXME, BUGe TODO) richiedono azione. HACKè da qualche parte nel mezzo (e quasi mai usato penso?).
LAZY(non così critico come FIXME o HACK) e OCD(noto overengineering).
Alcune note da una proposta di potenziamento di Python del giugno 2005 che è stata respinta .
Scegliere tra
FIXMEedXXXè difficile.
XXXsembra essere più comune, ma molto meno descrittivo.
Inoltre,XXXè un utile segnaposto in un pezzo di codice
con un valore sconosciuto.Quindi
FIXMEè l'ortografia preferita.
Sun lo diceXXXeFIXMEsono leggermente diversi, dandoXXXmaggiore gravità.
Tuttavia, con decenni di caos su questo argomento e troppi milioni di
sviluppatori che non saranno influenzati da Sun, è facile chiamarli giustamente sinonimi.
Il PEP inizia con,
Questo PEP è stato respinto. Mentre la comunità può essere interessata,
non c'è alcun desiderio di rendere la libreria standard conforme a questo standard.
...
Cosa sono i codetag?
I programmatori utilizzano ampiamente le convenzioni di markup del commento del codice ad hoc per servire da promemoria di sezioni di codice che richiedono un'ispezione o una revisione più ravvicinate. Esempi di markup includono
FIXME,TODO,XXX,BUG, ma non molti di più in un grande uso nei software esistente. D' ora in poi tale marcatura sarà denominata codetag . Questi tag possono comparire nel codice dell'applicazione, unit test, script, documentazione generale o dove opportuno.
Il PEP è una lettura interessante.
Dai un'occhiata a PEP350 . Spiega tutto TODO, XXXecc. Lo uso tutti i giorni quando non ricordo esattamente cosa significhi uno dei tag di codice.
Uso XXXperché è più facile da digitare di TODO.
XXX è per quando hai fretta e tornerai a questo da solo.
TODO è per quando devi consegnarlo a qualcun altro.
Probabilmente è per i casi che non sai come gestire.
Dai un'occhiata a questo: Visualizzazione elenco delle istruzioni TODO / FIXME / XXX / HACK
Dalle (vecchie) convenzioni del codice Java :
Usa XXX in un commento per contrassegnare qualcosa che è falso ma funziona. Usa FIXME per contrassegnare qualcosa che è falso e rotto.
XXX è l'abbreviazione di avvertenza che è leggermente diversa dalla NOTA ma abbastanza simile a HACK. Potrebbe essere un bug in una libreria / codice di terze parti che viene utilizzato e il codice con // XXX: indica che o è una soluzione alternativa a causa di un bug nel codice di terze parti o potrebbe significare "attenzione" per qualcuno che cerca / modifica il codice per indicare perché qualcosa viene fatto in un certo modo che altrimenti potrebbe sembrare errato / inelegante a prima vista. HACK è un termine generico che significa una soluzione alternativa per un problema che potrebbe essere presente nella propria base di codice o in una libreria di terze parti.
Credo che FIXMEsia per lo sviluppatore, HACKsia per il manutentore, XXXsia per l'utente.
Ad esempio, se si ignora XXXe si chiama questa funzione altrove, senza capire come funziona, può accadere qualcosa di inaspettato e la persona che si occupa di questo problema sarà infelice (almeno chi ha aggiunto la XXXpensa così). Potresti pensare che il problema sparirà se non usi questa funzione.
Ma per FIXME, ti sentirai degno di aggiustare il codice per farlo funzionare. E per HACK, potresti non avere scelta migliore anche se non lo usi.
Se hai scritto XXXsul tuo codice e qualcuno lo ha usato, potresti sentirti infelice per ragioni come riscrivere completamente quel codice, e poi si comporta in modi completamente diversi e hai infranto il codice di qualcun altro. Ma se hai lasciato un FIXMEo TODOinvece, non ti importerà così tanto.