Pregunta

Este es un código C # perfectamente correcto y funciona bien siempre que la URL sea correcta. Pero todo se hace en una sola línea al reducir la legibilidad del código.

Aquí está el código:

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

Solo me pregunto cuáles son las opiniones de otros desarrolladores sobre este tipo de forma abreviada de escribir código

¿Fue útil?

Solución

Insértelo en un método bien nombrado, y tal vez divídalo para que la declaración única se extienda sobre un par de líneas. Probablemente también usaría WebClient:

return new WebClient().DownloadString(urlName);

Otros consejos

No, no es un código C # realmente perfecto. Debería deshacerse de StreamReader, de modo que al menos tenga una declaración de using :

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

Ese código puede ganar un poco de legibilidad al dividirlo en más líneas, pero no mucho.

Generalmente prefiero el código legible antes que el código compacto. Tener una declaración en cada línea hace que el código sea más fácil de leer y entender. Por ejemplo:

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

Esto se vuelve más legible con la instrucción if en una línea y el código dentro de ella en una línea separada, con la instrucción if siempre con corchetes:

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

Por supuesto, este código es bastante legible incluso en forma compacta, pero cuanto más complejo es el código, más gana al poner cada declaración en una línea separada.

... YUCK.

Algunas veces combinaré algunas cosas en una línea, generalmente cuando estoy descargando cosas en una secuencia, pero nunca tanto.

La mayoría de los compiladores (al menos los compiladores de C ++) a menudo incorporan definiciones de variables si la definición se usa solo una vez, por lo tanto, si hace un uso único, deseche la variable. Es probable que tu compilador de C # simplemente reemplace su nombre con su definición.

Además del problema de legibilidad, debe eliminar cualquier objeto IDisposble que esté utilizando.

¡Una declaración! = una línea, puede mejorar la legibilidad al mejorar el formato de su código. Por supuesto, no debe asumir que otras personas usan monitores de alta resolución.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top