Qual è una strategia efficace per contrassegnare il codice come rivisto?

0

Sto rivedendo una grande base di codice C # e ho pensato su come contrassegnarlo come recensito quando lo è, per non rivederlo due volte.

Attualmente ho un ReviewedAttribute che uso per decorare i membri che sono stati revisionati:

public class ReviewedAttribute : Attribute
{
}

Questo approccio, tuttavia, manca di un aspetto importante:

  • Come trovare il codice che non è stato ancora rivisto?

Facile mi dirai, un blocco di codice che non ce l'ha non è stato rivisto! Il problema con questo approccio è che dovresti aprire ogni file per vedere se l'attributo è in esso ...

Potrei anche aggiungere un attributo NotReviewed in ogni luogo che non è stato ancora recensito ma è anche un approccio estremamente noioso ...

Fondamentalmente sto cercando un approccio come la documentazione XML quando è abilitato: un avviso emesso per ogni luogo che non è stato documentato.

Dal momento che se non l'ho trovato in questo modo, sto iniziando a pensare che questo non sia l'approccio migliore.

Domanda:

Esiste una strategia efficace per contrassegnare i blocchi di codice come rivisti?

    
posta Aybe 17.07.2017 - 21:14
fonte

3 risposte

2

Potresti utilizzare la direttiva #warning per avvisarti del codice che deve ancora essere rivisto, ma il lato negativo è che devi contrassegnare ogni file con questo. Fortunatamente, sarebbe abbastanza facile scrivere un piccolo script per aggiungere una riga alla fine di ogni file * .cs nel progetto.

Oltre a questo, prendi il consiglio di John Wu e rimuovilo dopo che è stato esaminato. Il vantaggio rispetto a un semplice commento e grep è che avrai un po 'di aiuto dall'IDE e dal compilatore. Otterrai zero falsi positivi in questo modo.

Nota: aggiungila alla fine perché il file sarà ancora compilato se lo metti alla fine. Non penso che verrà compilato se lo metti in cima.

    
risposta data 18.07.2017 - 00:30
fonte
3

Dato che questa domanda riguarda le revisioni "catch up", non le recensioni in corso (che dovrebbero essere fatte naturalmente su checkin / changeset, non file), vorrei in realtà invert questo problema. Non mi interessa se un file di codice è stato revisionato, dopotutto, questo non significa che non ho bisogno di rivederlo! Invece, mi interessa se un file ha mai stato recensito.

  1. Aggiungi un commento a ogni singolo file di codice che è in attesa di revisione. Il commento potrebbe essere qualcosa come /** Pending baseline code review **/

  2. Quando esamini un file di codice, rimuovi il commento.

  3. Per trovare i file che richiedono ancora una revisione, cerca il commento.

  4. Quando tutti i commenti sono andati, la revisione del codice iniziale / di base è completa

risposta data 18.07.2017 - 00:05
fonte
2

Vorrei semplicemente usare un commento con una stringa di marcatore speciale che è improbabile che si verifichi altrove indicando che l'intero file è stato revisionato, e quindi grep come strumento per trovare i file non revisionati. Tuttavia, se utilizzi Windows, potresti non avere grep . L'opzione grep -L stamperà i file senza corrispondenza.

E riguardo la revisione dei file rispetto ai commit: vuoi ad un certo punto del tempo passare alla strategia di rivedere ogni singola modifica al repository. È molto più sicuro in questo modo, e anche meno lavoro: se rivedi un file, qualcuno lo cambia, quindi devi rivederlo di nuovo.

    
risposta data 17.07.2017 - 21:26
fonte

Leggi altre domande sui tag