Come trattare gli avvertimenti "Il campo non viene mai usato"?

4

Warning 1 The field 'MCS_SPS_School.Fees.DiscountAmt.rtvalue' is assigned but its value is never used G:\Jagadeeswaran\Nov 17\MCS-SPS School\MCS-SPS School\Fees\DiscountAmt.cs

Warning 2 The field 'MCS_SPS_School.Fees.DiscountAmt.dt' is never used G:\Jagadeeswaran\Nov 17\MCS-SPS School\MCS-SPS School\Fees\DiscountAmt.cs

Questo tipo di avviso è ancora nel mio progetto. Ma il progetto funziona in sicurezza.

Ora cosa faccio per questi avvertimenti, per correggere o ignorare?

È pericoloso se ignorato questo, le prestazioni saggia o altro?

    
posta Sagotharan 26.12.2011 - 15:05
fonte

4 risposte

12

Non è direttamente un problema di sicurezza, ma potrebbe essere indiretto. Ecco perché è un avvertimento. Il compilatore ti sta dicendo che hai dichiarato qualcosa ma in realtà non stai facendo nulla, il che probabilmente significa che il tuo codice è incompleto: hai iniziato a costruire qualcosa e non l'hai finito. Ciò potrebbe causare bug in futuro.

Il modo migliore per correggere questo avvertimento è di terminare la scrittura di qualsiasi cosa che si suppone utilizzi questo valore o di eliminarlo.

    
risposta data 26.12.2011 - 15:22
fonte
9

Correggi sempre avvertimenti e suggerimenti. Indicano problemi che possono comportare problemi in seguito.

Anche se questo avvertimento non sembra importante, quando inizi a ignorare i suggerimenti e gli avvertimenti "non importanti", sarai presto annegato in essi e non vedrai quelli che sono in realtà molto importanti e che causano errori se non indirizzati.

Qualsiasi team di sviluppo serio sulla qualità del codice avrà una politica di suggerimenti e avvertenze zero sul posto. Il nostro server di build continuerà una build quando alcuni progetti produrranno suggerimenti e avvertimenti, ma il nostro dipartimento di controllo qualità sarà su di noi se consentiamo a questi di propagarsi dai rami "di lavoro" al ramo di sviluppo principale. E i problemi nei rami di lavoro non saranno "risolti" da loro (accettati per l'integrazione nel ramo di sviluppo principale) finché tutti i suggerimenti e gli avvertimenti non saranno andati e tutti i test di unità avranno successo.

    
risposta data 26.12.2011 - 15:22
fonte
4

L'avvertimento significa esattamente questo: hai dichiarato campi nelle tue classi che non usi mai.

Warning 1 significa che il tuo file DiscountAmt.cs ha campi denominati rtvalue e dt che sono dichiarati ma non referenziati ovunque.

Questi campi richiedono un po 'di spazio per ogni istanza della classe, anche se non vengono mai utilizzati. La migliore prassi è quella di eliminare tali campi.

C'è un altro problema con gli avvertimenti: se non li aggiusti, ti ritroverai con molti avvertimenti. Alcuni di questi avvertimenti sono importanti, ma non li noterai mai perché hai molti altri avvertimenti che si perdono nel rumore. Una buona pratica è avere 0 avvisi e 0 errori.

    
risposta data 26.12.2011 - 15:21
fonte
1

se si sta ritardando la correzione di questo elemento fino alla fase successiva del progetto, è possibile disattivare il messaggio di avviso utilizzando l'avvertimento #pragma disable see link: avviso di Pragma

altrimenti rimuovi l'oggetto se non lo stai usando finché non è necessario:)

    
risposta data 26.12.2011 - 15:28
fonte

Leggi altre domande sui tag