Kembali di masa lalu, kami melakukan notasi Hongaria. Itu sekarang dianggap ketinggalan jaman , dan sebagian besar saya tidak menggunakannya lagi, tapi saya masih menemukan penggunaan m_
awalan untuk menunjukkan bidang anggota.
Bagi saya, jika saya membaca kode orang lain, dan saya melihat ini:
count = 3;
Saya berasumsi itu count
adalah variabel lokal untuk fungsi itu dan saya sedang melakukan sesuatu yang akan digunakan di tempat lain dalam fungsi; jika saya melihat ini:
m_count = 3;
Saya segera menyadari bahwa saya memperbarui keadaan objek.
Pedoman gaya Microsoft mengatakan bahwa itu adalah cara yang salah untuk melakukan sesuatu. Saya seharusnya memberi nama bidang non-publik saya persis seperti variabel sementara yang didefinisikan dalam fungsi. Tidak m_
, bahkan garis bawah yang sederhana.
Ya, kita dapat mendefinisikan gaya pengkodean kita sendiri, tetapi kemudian saya harus bergulat dengan berbagai alat analisis kode statis, untuk meyakinkan mereka bahwa cara kita melakukan sesuatu adalah OK.
Saya senang untuk mengubah ke gaya Microsoft, tetapi saya ingin tahu mengapa semuanya seperti itu.
Mengapa sekarang dianggap buruk untuk dapat mengetahui apakah suatu variabel adalah fungsi lokal atau anggota?
PS Ini sangat mirip dengan Apa praktik terbaik yang dianggap saat ini mengenai kata kunci "ini" di depan bidang dan metode dalam c #? , tapi saya bertanya tentang m_
tidakthis.
PPS Juga lihat Mengapa Microsoft membuat parameter, variabel lokal, dan bidang pribadi memiliki konvensi penamaan nama yang sama?
count
tidak muncul begitu saja karena tidak dinyatakan dalam metode. Terus terang argumen "out of IDE" BENAR-BENAR lemah. Terutama karena bahkan ada alat peninjau kode yang bekerja DI IDE.
this
kata kunci? Tidak bisakah Anda merujuk pada anggota yang menggunakanthis
, sepertithis.count
?