Como tratar os avisos “O campo nunca é usado”?

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

Esse tipo de aviso ainda está no meu projeto. Mas o projeto é executado com segurança.

Agora, o que faço para esses avisos, para corrigir ou ignorar?

É perigoso ignorar isso, desempenho ou outro?

    
por Sagotharan 26.12.2011 / 15:05
fonte

4 respostas

12

Não é diretamente um problema de segurança, mas pode ser indireto. É por isso que é um aviso. O compilador está lhe dizendo que você declarou algo, mas você não está realmente fazendo nada com ele, o que provavelmente significa que seu código está incompleto: você começou a construir algo e não o concluiu. Isso pode causar bugs ainda mais abaixo da linha.

A melhor maneira de corrigir esse aviso é terminar de escrever o que deveria usar esse valor ou excluí-lo.

    
por 26.12.2011 / 15:22
fonte
9

Sempre corrigir avisos e dicas. Eles apontam para problemas que podem causar problemas mais tarde.

Mesmo que esse aviso pareça sem importância, quando você começar a ignorar dicas e avisos "sem importância", você logo se afogará neles e, em seguida, não identificará os que são de fato muito importantes e causará bugs se não forem tratados.

Qualquer equipe de desenvolvimento séria sobre a qualidade do código terá uma política de dicas e avisos em vigor. Nosso servidor de compilação continuará uma compilação quando alguns projetos produzirem dicas e avisos, mas nosso departamento de QA estará por toda parte se permitirmos que eles se propaguem de ramos "de trabalho" para o ramo de desenvolvimento principal. E os problemas nas ramificações de trabalho não serão "resolvidos" (aceitos para integração na ramificação de desenvolvimento principal) por eles até que todas as sugestões e avisos sejam eliminados e todos os testes de unidade sejam bem-sucedidos.

    
por 26.12.2011 / 15:22
fonte
4

O aviso significa exatamente isso - você declarou campos em suas classes que nunca usa.

Warning 1 significa que seu arquivo DiscountAmt.cs possui campos denominados rtvalue e dt declarados, mas não referenciados, em nenhum lugar.

Esses campos ocupam algum espaço para cada instância da classe, mesmo que nunca sejam usados - a melhor prática é excluir esses campos.

Há outra questão relacionada a avisos - se você não corrigir esses problemas, acabará com muitos avisos. Alguns desses avisos são importantes, mas você nunca os notará porque tem muitos outros avisos de que eles se perdem no ruído. Uma boa prática é ter 0 avisos e 0 erros.

    
por 26.12.2011 / 15:21
fonte
1

Se você está atrasando a correção para este item até o estágio posterior do projeto, você pode transformar a mensagem de aviso usando o aviso # pragma disable see link: Aviso do Pragma

caso contrário, remova o item se você não estiver usando até que seja necessário:)

    
por 26.12.2011 / 15:28
fonte