Biasanya dianggap praktik buruk untuk menggunakan notasi Hongaria , tetapi umum untuk menemukan kontrol GUI bernama userNameTextBox
dan userNameLabel
.
Apakah Anda memasukkan tipe kontrol di namanya? Bukankah ini semacam notasi Hongaria?
language-agnostic
coding-style
gui
notation
Jader Dias
sumber
sumber
Jawaban:
Seperti katamu. Secara umum, notasi Hongaria adalah praktik yang buruk. Saya ingin menjaga nama saya sedekat mungkin dengan domain, tetapi kadang-kadang yang ingin Anda katakan adalah bahwa ini adalah kotak teks dan ini adalah labelnya .
Lihat jawaban Kramii untuk pertanyaan lain karena pendapatnya yang masuk akal mengapa dia masih menggunakan bahasa Hongaria dalam situasi tertentu.
Seperti semua kode, konsistensi dan evaluasi diri adalah kuncinya. Jika Anda dan tim Anda sepakat tentang bagaimana berbagai kontrol GUI diberi label, dan elemen apa yang perlu diberi label, Anda akan baik-baik saja :)
sumber
Sebenarnya saya menggunakan notasi Hongaria, hanya untuk kontrol GUI. Saya menggunakan sesuatu seperti lblText, rbGroup1, lvTable dll untuk label, tombol radio dan tampilan daftar.
Mereka tidak pernah cenderung berubah dan jelas variabel apa yang merupakan kontrol GUI dan apa yang tidak.
Namun, karena saya menggunakan WPF dengan kemungkinan yang mengikat, sebenarnya tidak perlu lagi untuk menamai mereka sama sekali, karena itu diikat ke properti C #.
Btw, jangan membuat kesalahan dengan memanggil kontrol lvListViewPersons yang sesekali saya lihat. Jika suatu variabel diawali dengan lv, Anda dapat melihatnya sebagai listview.
sumber
Tim kami menggunakan notasi Hongaria untuk kontrol GUI, bukan untuk kode lainnya.
Contoh umum, label diikuti oleh kotak teks:
Plus itu membuatnya mudah untuk menemukan kotak teks Anda, cukup ketik "txt" dan intellisense akan melakukan sisanya.
sumber
Saya menggunakan notasi Hongaria untuk elemen GUI. Ini benar-benar sakit ketika Anda menutup QtDesigner, terbuka Visual Studio dan ketika Anda ingin teks set tombol pada jika Anda memiliki teks bernama
username
,password
, dll Bila Anda menggunakan Qt, tidak masalah besar, karena semua elemen GUI yang dibungkus dalamui
objek (ui.username
), tetapi ketika saya menggunakan Formulir Windows, kotak teks bernama nama pengguna hanya membengkak namespace.Dalam hal ini,
txtUsername
,btnLogin
,lblStatus
, dll adalah pilihan jelas lebih baik.sumber
Saya menghindari penggunaan notasi hungaria untuk kontrol GUI - Saya akan menghindari penamaan kontrol seperti `lblFirstName 'karena saya tidak terlalu peduli bahwa itu adalah label - dari sudut pandang data yang mengikat itu hanya sesuatu yang mengikat.
Untuk kontrol yang memerlukan nama, saya biasanya menambahkan awalan
ux
untuk 'pengalaman pengguna'. Itu menjelaskan bahwa item tersebut dimaksudkan hanya untuk pengguna untuk berinteraksi. Misalnya model tampilan saya mungkin memiliki properti yang dipanggilFirstName
dan tampilan mungkin memiliki kontrol yang disebutuxFirstName
. Ini memiliki manfaat tambahan bahwa semua kontrol bernama saya dikelompokkan dengan baik di IDE saya.sumber
ux
awalan itu sendiri Notasi Hongaria? Mungkin jenis lainnya (saya lupa nama keduanya) yang menunjukkan makna dan bukan tipe, tetapi masih berupa bahasa Hongaria ;-)apps hungarian
sebagai lawansystems hungarian
. Aplikasi hungarian tidak dianggap hampir sama berbahayanya dengan sistem, tapi saya pikir arti dari'ux 'bisa menjadi level yang terlalu tinggi untuk dianggap sebagai aplikasi. Saya kira Anda bisa menyebutnya layer hungarian atau sesuatu :)Saya tahu orang tidak tahan dengan notasi Hongaria secara keseluruhan, tetapi saya masih merasa ini sangat berguna di banyak tempat. Untuk GUI saya menggunakan awalan wnd setidaknya.
Masalah tidak menggunakan notasi Hungaria sederhana, setelah Anda meninggalkan perairan MSVS yang mulus, navigasi membutuhkan penyelaman hidung. Anda melihat semacam
SomeValue = SomeOtherValue
dan Anda tidak tahu apa yang sedang terjadi kecuali Anda melihat setiap hal. Melalui grep atau pencarian lama yang baik, yang biasanya membunuh produktivitas di sana, IDE selain QT dan MSVS sangat buruk dalam pencarian.sumber