Domanda

Sto lavorando con una base di codice ereditaria che contiene migliaia di righe di codice commentato. So che il codificatore precedente significava per salvare tutto il suo duro lavoro per i posteri, piuttosto che semplicemente cancellarlo ma: non sarò mai leggerlo e si arriva solo nel modo. Un esempio problema è che quando ho eseguire ricerche di testo per alcuni segmenti di codice mi viene decine di successi "falsi" nel codice commentato. PITA.

C'è un modo rapido / facile rilevare grandi blocchi di codice commentato fuori? Un RegEx intelligente forse?

mi capita di lavorare in VB.NET in questo momento e carattere di commento è un singolo apostrofo.

È stato utile?

Soluzione

È possibile utilizzare una ricerca espressione regolare. Cerca

^.*'.*$

Per trovare una singola linea con un commento. Probabilmente si vorrà trovare almeno 3 linee che iniziano con un commento:

^.*'.*\n.*'.*\n.*'.*$

tenere il gatto lontano dalla tastiera.

Altri suggerimenti

Ho paura Sono d'accordo con duffymo. Non credo che troverete un modo automatico affidabile per rimuovere il codice commentato. Sono sicuro che se si cerca abbastanza difficile, troverete uno, ma il vostro tempo sarebbero meglio spesi sul vostro lavoro.

Sono stato in questa situazione in passato (troppo spesso) e quello che finisce per fare è di rimuovere il codice commentato come io lavoro su vari moduli.

Per fare un esempio, apro persona di classe a fare un cambiamento e vedo commentato codice che deve ancora essere rimossi. Ho checkout il codice (usiamo VSS), rimuovere il codice cattivo, il check in e, infine, check it out per fare il mio lavoro.

ci vuole tempo prima che tutto va via, ma sento che è un uso efficace del tempo per risolvere il problema.

(^\s*//.*\n)^10

Trova 10 simultanei linee commentate fuori dello stile //.

Test commentata:

\s*//\s*\[Test\].*\n

Per qualsiasi C # persone che finiscono qui, utilizzare la seguente espressione regolare per trovare righe commentate fuori.

(^|[^/])//[^/]

Questo è ciò che i sistemi di controllo di versione sono per.

mi piacerebbe fare sicuro che era sotto il controllo di versione (si spera non Visual Source provvisoria), check it out, rimuovere tutto il codice commentato, e verificare nuovamente.

Mi piacerebbe anche scoraggiare la pratica nel vostro team di sviluppo per il futuro.

Io suggerirei di scrivere o trovare una macro per Visual Studio che aiuterà eliminare i commenti.

Alcuni pseudo-logica:

  • avviare ad un numero di riga, leggere primo carattere. ricordare questo numero di riga.
  • se è il carattere ' VB commento, quindi continuare
  • leggere primo carattere della riga successiva. se è carattere di commento, continuare.
  • quando trovare una linea che non è un carattere di commento, analizzare il numero di linee attraversato.
  • se il numero di linee attraversato corrisponde alla soglia del n , quindi eliminarli.

So che questo è un vecchio thread, ma il trucco che mi aiuta a non è stata menzionata.

Cerco questo regex:

(^ \ s *'. =. \ n) ^

E 'reperti commentata righe che contengono un segno di uguale. La mia esperienza è che la maggior parte dei blocchi di codice commentato contengono almeno una linea che ha un incarico e che equivale a segni sono abbastanza rari nei commenti reali.

Non automatizzare la sostituzione, mi basta premere F3 e se corrisponde a una sola linea che è sufficiente premere il tasto Invio per sostituire il testo evidenziato con una nuova linea. Se esce una linea che è parte di un blocco di linee commentate poi ho selezionato manualmente, premere invio e F3 nuovamente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top