Alcuni dei codici legacy che ho ereditato utilizzano il fatto che C # supporta più assegnazioni per scrivere codice come:
void DisableControls()
{
ddlStore.Enabled =
ddlProgram.Enabled =
ddlCat.Enabled =
btnSaveProxy.Enabled =
btnCancelProxy.Enabled =
btnViewMassManagerProxy.Enabled =
grdPromo.Enabled = false;
}
È uno stile molto carino , con tutte le =
allineate in modo ordinato e il valore assegnato in basso, ma è anche piuttosto noioso con cui lavorare. (E sì, quelle sono schede che allineano le cose, non spazi).
Mi piacerebbe sapere cosa, se non altro, questo stile implica il codificatore originale, poiché l'ho visto solo in alcune occasioni prima. Indica uno sfondo C ++? .NET 1.1? Solo le preferenze personali di qualcuno?
C'è qualche ragione per cui l'assegnazione concatenata come questa sarebbe più efficiente dell'impostazione individuale di (Questa parte ha ricevuto risposta dal commento di @ gnat: .Enabled
di ogni controllo? Meno così? This way makes it easy to insert btnWhatever.Enabled = as new buttons are added and delete as some buttons are deleted
)
Modifica: altri elementi dello stile di questa persona, supponendo che l'intero file sia stato scritto da una sola persona (probabile ma non certo), include l'inserimento di argomenti di funzione nella riga successiva e l'inserimento di virgole all'inizio di una riga anziché la fine della riga precedente. Esempio:
PromoUpdate[] GetPromoUpdates(
StateField field)
{
List<PromoUpdate> updates = new List<PromoUpdate>();
foreach (PromoOptInState p in field.States.Where(
x => x.IsDirty))
{
updates.Add(new PromoUpdate() {
promoCode = p.Code
, optIn = p.IsOptedIn
});
}
return updates.ToArray();
}
È molto strano.