Saya menonton video di C # tentang Variabel. Penulis mendeklarasikan variabel di dalam suatu metode dan ia menamakannya seperti ini: string MyName = "James";
pertanyaan saya adalah: konvensi mana yang direkomendasikan oleh .Net Framework. Apakah ini casing Pascal seperti pada contoh di atas atau apakah itu unta?
Jawaban:
Saya tidak berpikir ada sesuatu seperti konvensi 'resmi'. Sejauh yang saya tahu, berikut ini dianggap praktik yang baik oleh banyak pengembang C # berpengalaman:
PascalCase for public member variables (string MyName = "James")
camelCase for local variables (string myName = "James")
_leadingUnderscore for private member variables (string _myName = "James")
Dengan pendekatan ini, orang dapat membedakan antara variabel lokal serta anggota publik dan pribadi dengan kasus huruf pertama mereka.
Seperti halnya konvensi pengkodean apa pun, ini juga tergantung pada preferensi pribadi. Karena itu, tidak ada jawaban yang pasti. Tujuan umum adalah menjaga agar kode dapat dibaca dan dipahami semaksimal mungkin.
sumber
PascalCase
, penduduk lokal mendapatkancamelCase
, dan anggota pribadi mendapatkan_leadingUnderscore
.(aParameter: string)
. Saya menyadari bahwa parameter pada dasarnya adalah variabel lokal, terutama ketika dilewatkan oleh nilai, tetapi seringkali sangat membantu untuk "melihat" bahwa var sebenarnya dilewatkan sebagai parameter. Apakah ada konvensi semacam itu di C #?private string _SomeString
. Apakah Anda mengatakan itu adalah konvensi? (Hanya mencelupkan jari kaki saya di C # dan bertanya-tanya tentang hal ini).Konvensi Penamaan .Net Framework ( v4.5 , v1.1 ) agnostik tentang hal ini. Mereka tidak menentukan standar untuk penamaan variabel lokal. Anda harus memutuskan pada konvensi Anda sendiri untuk memberi nama ini.
Saya pribadi menggunakan camelCase, dan menyamarkan variabel anggota dari nama parameter dengan
this
bila perlu. Tetapi garis bawah utama (yaitu_memberVariable
) juga valid.sumber
this
untuk membedakan variabel lokal dari bidang / properti. 5 surat tambahan setiap kali terlalu banyak imho.