Apa konvensi penamaan kontrol yang disarankan untuk markup XAML?

10

Ketika bekerja dengan WPF atau Silverlight, bagaimana seharusnya seseorang menggunakan konvensi penamaan kontrol? Apakah Anda memberi nama kontrol di marka XAML? Saya telah melihat contoh proyek di codeplex dengan nama kontrol seperti "selectButton" atau "btnSelect". Apa yang akan kamu rekomendasikan?

Mamta D
sumber
1
Skema apa pun yang Anda pilih - konsisten di seluruh aplikasi Anda.
ChrisF

Jawaban:

8

Microsoft memiliki pedoman yang diterbitkan di sini di situs web mereka. Intinya adalah bahwa konvensi penamaan Hongaria keluar.

EDIT

Untuk memperjelas ini, Microsoft telah menghapus notasi Hongaria dari semua konvensi penamaan mereka, termasuk elemen UI. NAMUN, MS belum mendokumentasikan rekomendasi untuk elemen UI. Ada banyak tautan di luar sana yang mencatat ini dan menawarkan saran mereka tetapi intinya adalah bahwa dengan elemen UI, Anda sendirian. Tautan contoh .

Dalam standar kami, kami telah menghapus notasi Hongaria dan menggunakan penamaan eksplisit, artinya tombol yang disebut OK akan dinamai ButtonOK, blok teks yang disebut Komentar akan menjadi TeksblockComments. The downside adalah bahwa nama bisa agak lama, yang positif adalah bahwa SEMUA ORANG tahu persis apa elemennya.

Selama Anda menetapkan apa yang cocok untuk Anda dan menggunakan standar itu secara konsisten, Anda tidak akan salah.

Walter
sumber
2
Itu adalah panduan untuk penamaan anggota di perpustakaan, bukan elemen UI.
Robert Harvey
@ Robert - poin bagus. Saya tidak memperhatikan bahwa pedoman mereka mengecualikan elemen UI. Saya akan mengedit jawaban saya.
Walter
4

Saya biasanya tidak memberi nama kontrol saya di XAML, karena akan, sebagian besar waktu, tidak digunakan mengingat semuanya diatur atau dikendalikan melalui binding. Sumber: Pete Brown

Matthieu
sumber
Artikel yang sama mengatakan bahwa Anda harus memberi nama semua elemen entri data Anda (kotak teks, kotak centang, kombo), karena mereka akan dirujuk ke tempat lain (penyimpanan data, misalnya). Elemen chrome (garis, bentuk, dan semacamnya) tidak harus dinamai, dan itu bagus bahwa XAML tidak memaksa Anda untuk melakukannya.
Robert Harvey
@Robert Harvey: Dari artikel: "Kontrol UI interaktif seperti TextBoxes, ListBoxes, Buttons dll. Anda dapat pergi tanpa menamai ini jika Anda menggunakan perintah / perilaku dan pola yang baik seperti MVVM, tetapi saya menemukan penamaan sangat membantu dari sudut pandang dokumentasi. Bukan keharusan dengan cara apa pun, tetapi membantu. " Ketika saya menggunakan MVVM, dan tidak perlu mengkomunikasikan xaml saya kepada seorang desainer untuk pekerjaan campuran, saya tidak menemukan penggunaan untuk nama ini. Kontrol saya menjadi sangat sederhana, dokumentasi yang disediakan oleh nama-nama itu akan berlebihan. Tapi saya setuju bahwa pada UI yang lebih kompleks, itu bisa berbeda.
Matthieu
Saya menggunakan MVVM dan saya jarang memberi nama kontrol saya. Sangat jelas apa yang mereka maksud dengan konteks dan dengan desainer VS. Kadang-kadang saya akan memberikan komentar di XAML.
M. Dudley
2

Saya tidak tahu tentang XAML tetapi untuk ASP.NET tua biasa, konvensi yang saya lihat adalah:

  1. Bahasa Hongaria yang bagus (mis. TxtFirstName, ddlState, chkAcceptsTerms)
  2. Penamaan eksplisit (mis. TextFirstName, DropdownState, CheckAcceptsTerms)

Tidak yakin yang saya suka, jujur. Saya dulu melihat banyak kode seperti # 2 tetapi terbalik (mis. FirstNameTex, StateDropdown, AcceptsTermsCheck) tapi saya suka cara lain karena mengelompokkan kontrol terkait bersama-sama.

Wayne Molina
sumber