private const int THE_ANSWER = 42;
atau
private const int theAnswer = 42;
Secara pribadi saya pikir dengan IDE modern kita harus menggunakan camelCase karena ALL_CAPS terlihat aneh. Bagaimana menurut anda?
c#
naming-conventions
const
mmiika
sumber
sumber
theAnswer
. Sebelumnya menjadi penggemar notasi Hongaria, tetapi sejak saya belajar untuk tidak menggunakannya, saya sangat suka menghindari indikasi meta dalam penamaan. Sama berlaku untuk antarmuka sepertiIInterface
. Saya lebih sukaInterfacable
. Tetapi ketika bekerja dalam tim, saya harus mematuhi aturan :(Jawaban:
Konvensi penamaan dan huruf besar yang disarankan adalah menggunakan P ascal C asing untuk konstanta (Microsoft memiliki alat bernama StyleCop yang mendokumentasikan semua konvensi yang disukai dan dapat memeriksa sumber Anda untuk kepatuhan - meskipun ini sedikit terlalu analitis untuk selera banyak orang) . misalnya
Konvensi kapitalisasi Pascal juga didokumentasikan dalam Pedoman Desain Kerangka Kerja Microsoft .
sumber
Secara visual, Huruf Besar adalah caranya. Sangat bisa dikenali seperti itu. Demi keunikan dan tidak meninggalkan peluang untuk menebak, saya memilih UPPER_CASE!
Catatan : Huruf Besar akan berguna ketika konstanta digunakan dalam file yang sama di bagian atas halaman dan untuk tujuan intellisense; namun, jika mereka dipindahkan ke kelas independen, menggunakan Huruf Besar tidak akan membuat banyak perbedaan, sebagai contoh:
sumber
Sebenarnya itu
Setidaknya jika Anda melihat perpustakaan .NET, IMO mana yang merupakan cara terbaik untuk memutuskan konvensi penamaan - jadi kode Anda tidak terlihat aneh.
sumber
Saya masih menggunakan huruf besar untuk nilai const, tetapi ini lebih karena kebiasaan daripada karena alasan tertentu.
Tentu saja membuatnya mudah untuk segera melihat bahwa ada sesuatu yang buruk. Pertanyaan saya adalah: Apakah kita benar-benar membutuhkan informasi ini? Apakah itu membantu kami dengan cara apa pun untuk menghindari kesalahan? Jika saya memberikan nilai pada const, kompiler akan memberi tahu saya bahwa saya melakukan sesuatu yang bodoh.
Kesimpulan saya: Gunakan casing unta. Mungkin aku akan mengubah gayaku juga ;-)
Edit:
Sesuatu yang berbau Hungaria sebenarnya bukan argumen yang valid, IMO. Pertanyaannya harus selalu: Apakah itu membantu, atau sakit?
Ada beberapa kasus ketika hungaria membantu. Tidak banyak saat ini, tetapi mereka masih ada.
sumber
Pertama, Notasi Hongaria adalah praktik menggunakan awalan untuk menampilkan tipe data parameter atau penggunaan yang dimaksudkan. Konvensi penamaan Microsoft untuk mengatakan tidak pada Notasi Hongaria http://en.wikipedia.org/wiki/Hungarian_notation http://msdn.microsoft.com/en-us/library/ms229045.aspx
Menggunakan UPPERCASE tidak dianjurkan seperti yang dinyatakan di sini: Pascal Case adalah konvensi yang dapat diterima dan SCREAMING CAPS. http://en.wikibooks.org/wiki/C_Sharp_Programming/Naming
Microsoft juga menyatakan di sini bahwa UPPERCASE dapat digunakan jika dilakukan agar sesuai dengan skema yang ada. http://msdn.microsoft.com/en-us/library/x2dbyw72.aspx
Ini kurang lebih menyimpulkan semuanya.
sumber
Dalam artikelnya Konstanta (Panduan Pemrograman C #) , Microsoft memberikan contoh berikut:
Jadi, untuk konstanta, tampaknya Microsoft merekomendasikan penggunaan
camelCasing
. Tetapi perhatikan bahwa konstanta ini didefinisikan secara lokal .Dapat diperdebatkan, penamaan konstanta yang terlihat secara eksternal lebih menarik. Dalam praktiknya, Microsoft mendokumentasikan konstanta publiknya di pustaka kelas .NET sebagai bidang . Berikut ini beberapa contohnya:
static readonly
)Dua yang pertama adalah contoh
PascalCasing
. Yang ketiga muncul untuk mengikuti Konvensi Kapitalisasi Microsoft untuk akronim dua huruf (meskipun pi bukan nama samaran). Dan yang keempat nampaknya menyarankan bahwa aturan untuk akryonim dua huruf meluas ke akronim atau pengidentifikasi huruf tunggal sepertiE
(yang mewakili konstanta matematika e ).Selanjutnya, dalam dokumen Konvensi Kapitalisasi, Microsoft secara langsung menyatakan bahwa pengidentifikasi bidang harus dinamai melalui
PascalCasing
dan memberikan contoh berikut untuk MessageQueue.InfiniteTimeout dan UInt32.Min :Kesimpulan: Gunakan
PascalCasing
untuk konstanta publik (yang didokumentasikan sebagaiconst
ataustatic readonly
bidang).Akhirnya, sejauh yang saya tahu, Microsoft tidak menganjurkan konvensi penamaan atau huruf kapital khusus untuk pengidentifikasi pribadi seperti yang ditunjukkan dalam contoh yang disajikan dalam pertanyaan.
sumber
Tinggalkan Hongaria ke Hongaria.
Dalam contoh ini saya bahkan akan meninggalkan artikel definitif dan hanya pergi dengan
Apakah itu jawaban atau itu jawabannya?
* Dibuat edit sebagai Pascal benar benar, namun saya berpikir pertanyaan itu mencari lebih banyak jawaban untuk kehidupan, alam semesta dan segalanya .
sumber
The
jika saya bisa. :-)Saya sebenarnya cenderung lebih suka PascalCase di sini - tetapi karena kebiasaan, saya bersalah atas UPPER_CASE ...
sumber
ALL_CAPS diambil dari cara kerja C dan C ++ yang saya percaya. Artikel ini di sini menjelaskan bagaimana perbedaan gaya muncul.
Dalam IDE baru seperti Visual Studio, mudah untuk mengidentifikasi jenis, cakupan, dan jika mereka konstan sehingga tidak sepenuhnya diperlukan.
Perangkat lunak FxCop dan Microsoft StyleCop akan membantu memberi Anda panduan dan memeriksa kode Anda sehingga semua orang bekerja dengan cara yang sama.
sumber