Pergunta

Esta é perfeitamente bem código C # e funciona bem fornecido URL correta. Mas a tudo o que é feito apenas em uma linha, reduzindo a legibilidade do código.

Aqui está o código:

         return new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()).ReadToEnd();

Estou apenas querendo saber quais são as opiniões dos colegas desenvolvedores sobre esse tipo de caminho curto corte de escrever código

Foi útil?

Solução

empurrá-lo para um método bem-nomeado, e talvez até quebrá-lo para que trechos única statment mais de uma linhas casal. Eu também, provavelmente, usar WebClient:

return new WebClient().DownloadString(urlName);

Outras dicas

Não, não é realmente perfeitamente bem código C #. Você deve descartar o StreamReader, assim pelo menos ter uma declaração using:

using (StreamReader reader = new StreamReader(WebRequest.Create(urlName).GetResponse().GetResponseStream()) {
   return reader.ReadToEnd();
}

Esse código pode ganhar uma leitura pouco dividindo-o em mais linhas, mas não muito.

Geralmente eu prefiro código legível antes do código compacto. Ter uma declaração sobre cada linha torna o código mais fácil de ler e entender. Por exemplo:

if (i <= 4) i = 4 - i;

Isso se torna mais legível com a instrução if em uma linha e o código dentro dela em uma linha separada, com a declaração se sempre ter parênteses:

if (i <= 4) {
   i = 4 - i;
}

Este código é, naturalmente, em vez legível mesmo sob a forma compacta, mas quanto mais complexo o código é, mais ele ganha de colocar cada declaração em uma linha separada.

... YUCK.

Eu, às vezes, combinar algumas coisas em uma linha, geralmente quando eu estou despejar o material para um fluxo, mas nunca tanto.

A maioria dos compiladores (++ compiladores C pelo menos) vai definições muitas vezes em linha variável se a definição é usado apenas uma vez, por isso, se você faz um uso de uma vez, jogue fora variável. O seu compilador C # provavelmente só irá substituir o seu nome com a sua definição.

Além do problema de legibilidade, você deve descartar qualquer objeto IDisposble você está usando.

Uma declaração! = Uma linha, você pode melhorar a legibilidade, melhorando a formatação do seu código. Claro que você não deve assumir outras pessoas usam monitores de alta resolução.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top