Je reçois beaucoup de critiques de la part d'autres programmeurs en raison de mon utilisation d'un boîtier complet pour toutes mes variables. Par exemple, votre programmeur typique utilisera employeeCount
un nom de variable, mais j'utilise EmployeeCount
. J'utilise un boîtier complet pour tout , que ce soit une méthode void, une méthode de retour, une variable, une propriété ou une constante. Je respecte même cette convention en Javascript. Cette dernière brouille vraiment les jimmies des gens.
La raison typique donnée pour laquelle je ne devrais pas suivre cette convention de casse "non standard" est parce que le cas complet doit être réservé aux propriétés et aux méthodes void. La variable locale et les méthodes qui renvoient une valeur doivent avoir le premier mot en minuscule comme int employeeCount = getEmployeeCount()
.
Cependant, je ne comprends pas pourquoi.
Quand je remets cela en question, il semble que je reçois simplement une réponse arbitraire de c'est la norme . Quelle que soit la réponse, cela se résume généralement à: C'est juste comme ça et je ne le remets pas en question. Je viens de le suivre. . Les réponses arbitraires ne sont jamais assez bonnes pour moi.
Depuis mes premiers jours de programmation de macros Excel 97 avec l'IDE Office, je n'ai jamais eu besoin d'une convention de casse pour me dire si quelque chose est une variable ou une propriété locale. C'est parce que j'ai toujours utilisé une convention de dénomination très intuitive. Par exemple, GetNuggetCount()
suggère clairement une méthode qui va quelque part et obtient un décompte de toutes les pépites. SetNuggetCount(x)
suggère que vous affectez une nouvelle valeur au nombre de nuggets. NuggetCount
tout seul suggère une propriété ou une variable locale qui contient simplement une valeur. À ce dernier, on peut être tenté de dire: "Ah ha! Telle est la question. Propriété ou variable? QUI EST-CE?" À cela, je répondrais: "Est-ce vraiment important?"
Voici donc le tl; dr;: Quelles sont les raisons objectives, logiques et non arbitraires d'utiliser des minuscules pour le premier mot de votre variable ou méthode de retour?
Modifier: pour MainMa
Remplacez ce code par le premier exemple de code dans votre réponse et voyez à quel point votre argument tient le coup:
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);
}
}