Ada situasi ketika nama yang dilewatkan dalam Parameter akan dimasukkan ke tipe baru, tetapi nama objek Lulus harus tetap serupa. Untuk kasus Class Attributes, kita dapat menggunakan operator ini, tetapi bagaimana dengan variabel lokal dalam fungsi. Konvensi kode apa yang banyak digunakan.
contoh,
void MyFunc(BaseClass myPara)
{
DerivedClass _mypara = (BaseClass)myPara;
}
atau sebaliknya
void MyFunc(BaseClass _myPara)
{
DerivedClass mypara = (BaseClass)_myPara;
}
atau konvensi lainl
Jawaban:
Awalan baik parameter atau variabel lokal dengan garis bawah tidak terlalu idiomatis dalam C #, itu tidak terlalu mudah dibaca dan tidak sering digunakan (meskipun legal, jadi Anda bebas melakukannya jika Anda mau).
Nama terbaik untuk parameter dan variabelnya adalah nama deskriptif. Anda perlu berpikir mengapa Anda mengubah jenisnya, apa alasan para pemerannya. Maka Anda harus dapat membuat 2 nama berbeda. Misalnya, Anda melewati "orang" dan mengubahnya menjadi "pelanggan" maka Anda dapat menggunakan orang dan / atau pelanggan dalam nama variabel mungkin.
Jika Anda benar-benar tidak dapat memikirkan 2 nama yang berbeda maka saya akan menggunakan "sebagai" dalam nama ( ada pertanyaan di situs ini beberapa hari yang lalu tentang ini ). Misalnya Anda akan menggunakan "myParaAsDerived" untuk variabel lokal.
Jika mungkin saya tidak akan menggunakan ini, saya akan berpikir keras tentang masalah yang Anda pecahkan dan nama-nama yang berarti apa yang dapat digunakan, tetapi jika semuanya gagal ini cukup mudah dibaca.
sumber
Pertama menggunakan
Jelas salah! Karena banyak standar pengkodean c # menggunakan awalan “_” pada semua nama bidang ! Kode Anda harus mudah dipahami oleh programmer lain sehingga kode tidak boleh ditulis dengan cara yang akan menyesatkan banyak programmer C #.
Mengingat semua manfaat metode kecil, saya pribadi tidak melihat perlunya konvensi penamaan untuk memisahkan variabel lokal dari parameter. Jika metode Anda memiliki begitu banyak parameter dan variabel lokal sehingga Anda tidak dapat mengetahui apa yang sedang terjadi tanpa konvensi penamaan Anda memiliki masalah yang lebih besar. (Ini tercakup dengan baik dalam Clean Code Book , sebuah buku Java tapi saya masih merasakan manfaatnya sebagai programmer C #)
sumber
Jika Anda ingin awalan mereka dengan sesuatu maka Anda harus menggunakan
p_
untuk parameter: secara umum saya kira Anda mungkin akan mengganggu banyak orang jika Anda melakukan ini. TETAPI konsisten, jangan hanya melakukannya di satu tempat hanya karena Anda memerlukan dua nama berbeda untuk variabel yang ingin Anda beri nama yang sama.Aturan umum yang baik dengan penamaan variabel berjalan seperti;
Jika Anda hanya memiliki satu jenis nama objek dengan fungsinya:
Jika Anda memiliki lebih dari satu nama dengan fungsi dan spesialisasi mereka:
sumber
m_Whatever = p_Whatever;
- memberikan dua pengidentifikasi bermakna nama yang berbeda akan canggung. Tetapi saya sudah mulai mempertanyakan apakah kasus-kasus itu cukup umum untuk membenarkan konvensi yang konsisten.Konvensi penamaan C # akan membuat Anda:
Dan tolong menjauh dari notasi hungaria. Tidak ada gunanya dan tidak mematuhi konvensi C #.
sumber
Menggarisbawahi dalam penamaan variabel bisa agak tidak perlu karena kami memiliki kata kunci "ini" untuk merujuk ke variabel tingkat kelas secara khusus. Jika Anda ingin mempelajari lebih lanjut tentang konvensi penamaan variabel dari para ahli, saya sarankan Anda melihat pada makalah terkenal yang disebut "Aturan Ottinger untuk Penamaan Variabel dan Kelas" oleh Tim Ottinger, sebuah artikel yang didukung oleh mentor kode bersih Robert C. Martin .
Ottinger menyatakan bahwa kode Anda harus tetap dapat dibaca secara manusiawi, seperti prosa yang ditulis dengan baik, jadi ...
public void Function(string p_Parameter1, string p_Parameter2)
... akan lebih mudah dibaca seperti ...
public void Function(string parameter1, string parameter2)
... di mana parameter1 dan 2 adalah nama deskriptif untuk variabel terkait.
Inilah tautannya, pasti patut dilihat: Tautan
sumber
Saya percaya pada suffixing parameter: string s_, int i_, dll
Saya juga percaya bahwa nama-nama parm harus pendek dan generik mungkin.
Sekarang dengan alasan:
Semuanya memiliki pertukaran, dan apakah Anda menggunakan sesuatu atau tidak akan banyak bergantung pada bagaimana hal itu sesuai dengan gaya Anda saat ini.
sumber
s
dani
nama-nama pendek karena ini hanya sebuah contoh. TETAPI saya tidak berpikir ini adalah bahasa Hongaria sama sekali - saya pikir Anda salah mengartikan nama pendek yang hanya merupakan hal klasikstring s
atauint i
saya-tidak-bisa-memikirkan-nama yang lebih baik, tetapi dengan sufiks garis bawah terpaku pada .