Domanda

Questo è un codice C # perfettamente funzionante e funziona benissimo purché l'URL corretto. Ma il tutto è fatto in una sola riga riducendo la leggibilità del codice.

Ecco il codice:

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

Mi sto solo chiedendo quali sono le opinioni degli altri sviluppatori su questo tipo di scorciatoia per scrivere il codice

È stato utile?

Soluzione

Inseriscilo in un metodo ben definito e forse spezzalo in modo che il singolo statuto si estenda su un paio di righe. Probabilmente userei anche WebClient:

return new WebClient().DownloadString(urlName);

Altri suggerimenti

No, non è proprio il codice C # perfettamente perfetto. È necessario disporre StreamReader, quindi almeno avere un'istruzione using :

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

Quel codice può guadagnare un po 'di leggibilità dividendolo in più righe, ma non molto.

In genere preferisco il codice leggibile prima del codice compatto. La presenza di un'istruzione su ogni riga semplifica la lettura e la comprensione del codice. Ad esempio:

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

Questo diventa più leggibile con l'istruzione if su una riga e il codice al suo interno su una riga separata, con l'istruzione if sempre con parentesi:

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

Questo codice è ovviamente piuttosto leggibile anche in forma compatta, ma più è complesso il codice, più guadagna mettendo ogni istruzione su una riga separata.

... mah.

A volte unirò alcune cose in una riga, di solito quando sto scaricando cose su uno stream, ma mai così tanto.

La maggior parte dei compilatori (almeno compilatori c ++) spesso incorporano le definizioni delle variabili se la definizione viene utilizzata una sola volta, quindi se si utilizza una sola volta, eliminare la variabile. Il compilatore C # probabilmente sostituirà semplicemente il suo nome con la sua definizione.

Oltre al problema di leggibilità, è necessario disporre di qualsiasi oggetto IDisposble che si sta utilizzando.

Un'istruzione! = una riga, puoi migliorare la leggibilità migliorando la formattazione del codice. Ovviamente non dovresti presumere che altre persone utilizzino monitor ad alta risoluzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top