Prendo una buona dose di critiche da parte di altri programmatori a causa del mio uso del case pieno per tutte le mie variabili. Ad esempio, il tipico programmatore utilizzerà employeeCount
per un nome di variabile, ma io uso EmployeeCount
. Uso l'intero case corretto per tutto , che si tratti di un metodo di annullamento, di un metodo di ritorno, di una variabile, di una proprietà o di una costante. Ho persino seguito questa convenzione in Javascript. Quest'ultimo veramente fruscia i jimmies delle persone.
La tipica ragione per cui non dovrei seguire questa convenzione di custodia "non standard" è perché il caso corretto dovrebbe essere riservato per le proprietà e i metodi di annullamento. La variabile locale ei metodi che restituiscono un valore dovrebbero avere la prima parola in minuscolo come int employeeCount = getEmployeeCount()
.
Tuttavia, non capisco perché.
Quando pongo una domanda, sembra che ottenga una risposta arbitraria di che è lo standard . Qualunque sia la risposta, di solito si riduce sempre a Questo è solo il modo in cui è e non lo metto in dubbio. L'ho seguito. . Le risposte arbitrarie non sono mai abbastanza buone per me.
Fin dai miei primi giorni di programmazione di macro di Excel 97 con Office IDE, non ho mai avuto bisogno di una convenzione di custodia per dirmi se qualcosa è una variabile o proprietà locale. Questo perché ho sempre usato una convenzione di denominazione molto intuitiva. Ad esempio, GetNuggetCount()
suggerisce chiaramente un metodo che va da qualche parte e ottiene un conteggio di tutti i nugget. SetNuggetCount(x)
suggerisce che stai assegnando un nuovo valore al conteggio dei nugget. NuggetCount
tutto da solo suggerisce una proprietà o una variabile locale che sta semplicemente tenendo un valore. A quest'ultimo, si può essere tentati di dire: "Ah ah, questa è la domanda: proprietà o variabile? A questo, vorrei rispondere con "È davvero importante?"
Quindi ecco il tl; dr ;: Quali sono i motivi oggettivi, logici, non arbitrari per usare la minuscola per la prima parola nel tuo metodo di ritorno o variabile?
Modifica: per MainMa
Sostituisci il questo codice con il primo codice di esempio nella tua risposta e vedi quanto valgono i tuoi argomenti:
public void ComputeMetrics()
{
const int MaxSnapshots = 20;
var Snapshots = this.LiveMeasurements.IsEnabled ?
this.GrabSnapshots(MaxSnapshots, this.cache) :
this.LoadFromMemoryStorage();
if (!Snapshots.Any())
{
this.Report(LogMessage.SnapshotsAreEmpty);
return;
}
var MeasurementCount = Measurements.Count();
this.Chart.Initialize((count + 1) * 2);
foreach (var s in Snapshots)
{
this.Chart.AppendSnapshot(s);
}
}