Saya menerima banyak kritik dari programmer lain karena saya menggunakan casing yang tepat untuk semua variabel saya. Sebagai contoh, programer tipikal Anda akan digunakan employeeCount
untuk nama variabel, tetapi saya menggunakan EmployeeCount
. Saya menggunakan casing penuh yang tepat untuk semuanya , baik itu metode kosong, metode pengembalian, variabel, properti, atau konstan. Saya bahkan mengikuti konvensi ini dalam Javascript. Yang terakhir benar-benar membuat kegaduhan orang.
Alasan khas yang diberikan mengapa saya tidak harus mengikuti konvensi casing "non-standar" ini adalah karena case yang tepat harus disediakan untuk properti dan metode batal. Variabel lokal dan metode yang mengembalikan nilai harus memiliki kata pertama dalam huruf kecil suka int employeeCount = getEmployeeCount()
.
Namun, saya tidak mengerti mengapa.
Ketika saya mempertanyakan ini, sepertinya saya hanya mendapatkan jawaban sewenang-wenang dari standar itu . Apa pun jawabannya, biasanya selalu menjadi seperti itu dan saya tidak mempertanyakannya. Saya hanya mengikutinya. . Jawaban sewenang-wenang tidak pernah cukup baik bagi saya.
Sejak hari-hari awal saya memprogram makro Excel 97 dengan Office IDE, saya tidak pernah membutuhkan konvensi casing untuk memberi tahu saya apakah sesuatu itu variabel lokal atau properti. Ini karena saya selalu menggunakan konvensi penamaan yang sangat intuitif. Misalnya, GetNuggetCount()
dengan jelas menyarankan suatu metode yang pergi ke suatu tempat dan mendapat hitungan dari semua nugget. SetNuggetCount(x)
menunjukkan bahwa Anda menetapkan nilai baru ke hitungan nugget. NuggetCount
dengan sendirinya menyarankan properti atau variabel lokal yang hanya memegang nilai. Untuk yang terakhir, orang mungkin tergoda untuk mengatakan, "Ah ha! Itu pertanyaannya. Properti atau variabel? SIAPA ITU?" Untuk itu, saya akan menjawab dengan, "Apakah itu penting?"
Jadi, inilah tl; dr ;: Apa tujuan, logis, alasan non-arbitrer untuk menggunakan huruf kecil untuk kata pertama dalam variabel Anda atau metode pengembalian?
Edit: Untuk MainMa
Ganti kode ini dengan contoh kode pertama dalam jawaban Anda dan lihat seberapa baik argumen Anda bertahan:
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);
}
}