Há algum benefício em remover instruções de uso não usadas em um projeto do VS?


21

Existem benefícios em remover instruções de uso não utilizadas em um projeto do VS (como pode ser feito usando o Resharper), ou o VS cuidará automaticamente disso ao criar / implantar?


1
Tendo a impressão que você perguntou sobre removing unused references(DLLs) e todas as respostas removing unused using statements.
Răzvan Flavius ​​Panda

@ RăzvanPanda: Não, está usando declarações; Vou precisar de checo se você puder fazer o último com R # - seria uma temperatura agradavelmente baixa também.
B. Clay Shannon

Aight, corrigindo o texto para se adequar ao significado.
Răzvan Flavius ​​Panda

1
você pode remover referências de DLL não utilizadas com o R # mais recente, mas é importante ter cuidado com as referências dinâmicas de DLL, pois isso pode ocorrer durante a execução.
Răzvan Flavius ​​Panda

Respostas:


23

Não há benefícios de desempenho, se é isso que você quer dizer.

Todas as referências em uma montagem são totalmente qualificadas; o compilador usa apenas as referências fornecidas no seu código para qualificar totalmente os identificadores; portanto, o único impacto das referências não utilizadas no código-fonte é uma ligeira diminuição na legibilidade (por que essa referência está aqui?) e um aumento trivial no tempo de compilação.

Em outras palavras, a IL gerada é exatamente a mesma, independentemente de você remover as referências não utilizadas ou não.


Pode haver um benefício indireto na remoção de usos não utilizados. Se, por sua vez, permitir que uma ou mais referências a DLLs externas sejam removidas de uma solução, isso poderá beneficiar o tamanho de implantação do aplicativo e / ou o tempo de inicialização.
Weir

1
A IL gerada não muda se você remover as utilizações, por isso não vejo como algo seria afetado.
Robert Harvey

Verdadeiro: A IL não será alterada se você adicionar referências não utilizadas usingou DLL ( Reference Includeelemento do arquivo MSBuild, /reference:argumento CSC). Eu tinha em mente: Remova usings não utilizados de um projeto de aplicativo da Web. Essas tinham sido as únicas linhas de código que incluíam a inclusão de várias referências de DLL; agora, remova-as. Como você diz, constrói mais rapidamente - mais ainda se as referências fossem caminhos UNC (o CSC verifica todos os caminhos de referência). Trivial win 2: A velocidade do IC (os scripts capturam todas as DLLs referenciadas) melhora à medida que menos arquivos são copiados, por exemplo, do servidor de controle de origem para criar um servidor para publicar o servidor nos servidores de aplicativos.
Weir

Código mais curto é um código mais legível. Menos é mais - esse é o benefício e vale a pena fazer por esse motivo.
Niico 16/0318

24

Sim - posso pensar em dois benefícios principais:

  1. Além de seu principal objetivo funcional (ou seja, reduzir a verbosidade do código), a lista de instruções 'Using' na parte superior de um arquivo de código pode informar aos futuros leitores (especialmente aqueles sem o Resharper) quais namespaces são (ou pelo menos eram ) relevantes para esse arquivo de código . Se você remover ativamente esta lista, ela poderá atuar como um melhor mecanismo de sinalização.
  2. A remoção de espaços para nome não utilizados reduzirá o número de candidatos ao preenchimento automático no seu editor de texto enquanto você digita. Se você confiar nas listas de preenchimento automático, isso ajudará a mantê-lo "em linha reta e estreita" e pode até aumentar sua velocidade de digitação, pois você poderá encontrar o candidato pretendido ao preenchimento automático um pouco mais rápido.

1
Ah, pontos muito bons, especialmente # 2!
B. Clay Shannon

0

A remoção de código não utilizado é apenas bagagem extra e difícil de medir as eficiências obtidas.

  • Removendo o código não utilizado, reduz o tempo de compilação, estou trabalhando em um projeto que leva de 15 a 20 minutos, há toneladas de código não utilizado. A eliminação do código não utilizado reduziu o tempo de compilação para ~ 7 minutos. Isso faz diferença quando há muitos desenvolvedores na equipe, economizando tempo de todos para criar e testar rapidamente.

  • Se você automatizou seus testes de construção e unidade, agora removeu os testes de unidade que não são necessários. novamente, isso reduz o tempo necessário para executar testes de unidade. Apenas maior eficiência em seu processo de gerenciamento de Construção Contínua.

    • O código não utilizado resulta em maior pegada dos seus binários. Ter uma pegada de código menor reduzirá o tempo necessário para carregar / inicializar inicialmente. Embora os ganhos possam ser muito escassos e subjetivos.

4
a questão não é sobre código não utilizado em geral, é sobre referências não utilizadas #
30614

... consulte Como responder : "Leia a pergunta com atenção . O que, especificamente , a pergunta está fazendo? Verifique se a sua resposta fornece essa - ou uma alternativa viável ..."
gnat
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.