Avvisi ed errori del compilatore [duplicato]

3

Vengo da uno sfondo C # prima del mio ruolo attuale. Sto sviluppando un'applicazione VB.NET. Il codice che ho ereditato aveva l'opzione strict strict e tutte le altre direttive erano impostate su 'None'. Di recente ho attivato l'opzione strict on e corretto tutti gli errori. Mi ci vorrà circa un giorno per correggere tutti gli avvertimenti. Sto cercando di decidere se questo è il momento ben speso.

L'applicazione è matura e funziona molto bene. Qual è la guida per impostare l'opzione rigorosa su ON e correggere gli avvisi. Presumo che non dovresti ignorarli.

Tuttavia, ho letto online oggi (penso che fosse qui) che un intervistatore ha detto che non si preoccupa mai degli avvertimenti. Sicuramente questo è sbagliato?

    
posta w0051977 01.07.2014 - 19:31
fonte

1 risposta

4

È una questione soggettiva. Su ogni nuovo progetto che (io e alcuni colleghi conosco) iniziamo, impostiamo gli avvertimenti per compilare gli errori per impostazione predefinita. Finiamo con una base di codice pulita, soluzione facile. (Inoltre, abilitiamo anche FxCop, problemi di StyleCop come errori, costo molto basso se lo fai dall'inizio).

Ogni avvertimento ha un impatto sulla qualità, sulla manutenibilità, sulle prestazioni, sulla sicurezza, ecc. Non ci sono raccomandazioni facili di "aggiusta tutto" o "ignora tutto". La ragione principale per cui questi sono avvertimenti e non errori o non segnalati è principalmente perché una decisione non è facile da prendere in tutte le situazioni.

Nel codice base che è già stato sviluppato, di solito è un processo lento. Questo è quello che farei:

  • In genere valuterei l'impatto di un avviso.
    • Se si tratta di un avviso di performance in un pezzo di codice che non verrà colpito troppo spesso, lo ignorerò.
    • Ma se sto usando un metodo che è obsoleto, potrebbe avere un impatto sulla sicurezza, o alla fine, la libreria di classi sottostante potrebbe rompermi.
  • Quindi in genere valuterei il costo.
    • Se si tratta di una "variabile non utilizzata", la risolverò. Se si tratta di migliaia di variabili inutilizzate, ignorerò con la consapevolezza che mi occorreranno alcune ore per correggerle, e l'impatto è sulla leggibilità del codice e forse sulla manutenzione.
    • Altri avvisi possono essere costosi, ad es. utilizzando un metodo obsoleto, e cambiando tale utilizzo richiede una seria riscrittura del codice.
  • In base alle due metriche di cui sopra (che si inseriscono realmente in un'analisi costi / benefici), correggerò immediatamente ciò che ha senso.
  • Per il resto, la regola è tipicamente quella di correggere gli avvertimenti quando qualcuno tocca la base del codice, cioè quando il codice viene toccato, non si può dire "Posso lasciarlo in uno stato di merda perché l'ho trovato così". : -)

Questo funziona nella maggior parte dei casi. Ciò che funziona per te dipenderà dalla tua esperienza. Per ogni avvertimento, puoi fare una valutazione e, se hai bisogno delle opinioni degli altri, postare su StackOverflow probabilmente per ottenere consigli. Sono sicuro che molti problemi sono già stati discussi qui.

    
risposta data 01.07.2014 - 23:30
fonte

Leggi altre domande sui tag