Sto cercando un modo C (++) #if 0
-like di essere in grado di commentare interi pezzi del codice sorgente Scala, per mantenere un codice sperimentale o scaduto per un po '.Commentando porzioni di codice in Scala
Ho provato un paio di alternative e mi piacerebbe sentire cosa usi e se hai trovato qualcosa di meglio?
// Simply block-marking N lines by '//' is one way...
// <tags> """ anything
Il mio editor lo rende facile, ma non è proprio The Thing. Si mescola facilmente con i commenti di una riga effettivi.
Poi ho pensato che ci sia il supporto XML nativo, quindi:
<!--
... did not work
-->
Wrapping in opere XML, a meno che non si dispone di <tags>
all'interno del blocco:
class none { val a= <ignore>
...
cannot have //<tags> <here> (not even in end-of-line comments!)
</ignore> }
Lo stesso per le stringhe multilinea sembra tipo del meglio, ma c'è un sacco di piatti (non di moda in Scala) per compiacere il compilatore (meno se lo fai all'interno di una classe o di un oggetto):
object none { val ignore= """ This seems like
...
<truly> <anything goes> but three "'s of course
""" }
Il modo 'giusto' per fare questo potrebbe essere:
/***
/*
... works but not properly syntax highlighed in SubEthaEdit (or StackOverflow)
*/
***/
..ma che corrisponde al /*
e */
non solo, vale a dire /***
-***/
. Ciò significa che i commenti all'interno del blocco devono essere bilanciati. E - l'attuale modalità di evidenziazione della sintassi di Scala per SubEthaEdit fallisce miseramente su questo.
Come confronto, Lua ha --[==[
corrispondente a ]==]
e così via. Penso di essere viziato?
Quindi - c'è qualche trucco utile che sto supervisionando?
Non capisco perché è necessario supportare '/ ***/* ... */*** /' blocchi in stile nidificato –
Probabilmente è meglio semplicemente eliminare il codice e se si desidera ottenere torna ad utilizzare il tuo sistema di controllo della versione (o la cronologia locale nel tuo IDE). È altrettanto veloce una volta che hai familiarità con esso, e più pulito. Commentare è un buon modo per accumulare cruft nel tempo, e anche con le migliori intenzioni raramente tutto viene ripulito. –
Puoi chiarire un po 'di più la tua custodia? Dici "per mantenere il codice sperimentale o scaduto per un po '". ma non è chiaro il motivo per cui usare/* */non è abbastanza buono per quello. Come altri hanno sottolineato, si desidera evitare di mantenere grandi blocchi di codice non compilati in quanto si avranno problemi di codifica del codice. Quindi potresti prendere in considerazione la possibilità di separare file/moduli/librerie per il codice che non stai utilizzando attualmente, ma che potrebbe essere necessario in futuro. – markltbaker