È buona norma scegliere il livello di avviso più alto nella programmazione C ++? [chiuso]

3

Ho usato per selezionare il livello di avviso predefinito nella programmazione C ++. Ad esempio, in VS, il livello di avviso predefinito è Level3 (/W3) e No (/WX-) (non trattare gli avvertimenti come errori).

Mi chiedo se sia una buona pratica scegliere il livello di avviso più alto nella programmazione C ++, ad es. EnableAllWarnings (/Wall) con Yes (/WX) (considera gli avvertimenti come errori)?

Qualche consiglio sarà molto apprezzato.

    
posta herohuyongtao 17.03.2014 - 08:13
fonte

2 risposte

8

I compilatori di solito sono molto bravi a individuare errori, quindi consento sempre tutti gli avvisi e gli errori possibili (-Wall e -Wextra per gcc) e trasformano gli avvisi in errori. In questo modo niente passa.

Inoltre, provo a scrivere come codice conforme standard possibile (-pedantic per gcc), nel senso che cerco di evitare le estensioni del compilatore.

A volte non è possibile, a causa di una libreria esterna. Quindi sei costretto a mettere le impostazioni richieste per farlo compilare. Sfortunatamente questo di solito è accompagnato da molti avvertimenti.

    
risposta data 17.03.2014 - 09:00
fonte
4

In generale, sì, è una buona idea alzare gli avvertimenti al più alto livello possibile.

Potresti ricevere alcuni avvertimenti che sono eccessivamente pignoli o che semplicemente non ti preoccupano, nel qual caso puoi esplicitamente allontanarli in posizioni specifiche. Almeno allora stai prendendo una decisione specifica ed esplicita per ignorare l'avviso.

Gli avvertimenti come errori sono più controversi nella mia esperienza. Alcune persone pensano che sia molto importante aver acceso. Personalmente lo tengo disattivato per consentire un po 'più di flessibilità mentre sto scrivendo il codice, ma poi mi fido di non ignorare gli avvertimenti e sicuramente non commetterò mai codice contenente avvertimenti. In passato, tuttavia, ho attivato questa funzione per catturare i programmatori che non erano così coscienziosi come avrebbero dovuto essere.

    
risposta data 17.03.2014 - 09:06
fonte

Leggi altre domande sui tag