Meskipun di sini saya akan merujuk secara khusus pada konvensi penamaan C ++ dan Bjarne Stroustrup , pada prinsipnya, saya telah melihat bahwa orang menggunakan aturan yang agak mirip untuk bahasa lain di sana-sini.
Jadi, ide dasarnya adalah seseorang harus dapat membedakan tipe standar dari tipe yang ditentukan pengguna saat membaca kode. Misalnya, Bjarne Stroustrup menyarankan bahwa seseorang menggunakan
huruf kapital awal untuk jenis (misalnya, Kotak dan Grafik)
yang, dengan mempertimbangkan itu
Bahasa C ++ dan perpustakaan standar tidak menggunakan huruf kapital
memungkinkan mencapai tujuan yang disebutkan di atas.
Tetapi mengapa kita perlu melakukannya? Apa yang bisa menjadi tujuan membedakan jenis standar dan yang ditentukan pengguna?
Saya tidak dapat menemukan alasan Bjarne Stroustrup mengenai hal itu, dan selain itu, saya sendiri berpikir dengan cara yang berlawanan secara diametris. : Aku tahu, aku tahu, "Siapa aku untuk membantah Stroustrup?" Tetapi, dengarkan, banyak fitur bahasa C ++, mis. Operator yang berlebihan, melayani tujuan untuk memungkinkan tipe yang ditentukan pengguna tingkat dukungan sintaksis yang sama dengan tipe standar. Dan kemudian semua ini bingung oleh disiplin penamaan yang berbeda ...
PS Belum lagi bahwa satu kata saja tidak cukup untuk menyebutkan kelas dan kata yang dipisahkan dengan garis bawah yang dimulai dengan huruf kapital terlihat sangat asing.
sumber
Jawaban:
Sama sekali tidak ada tujuan atau manfaat dalam hal itu. Salah satu tujuan C ++ adalah untuk memperlakukan UDT dan primitif secara bergantian, dan meskipun mereka belum sepenuhnya berhasil, ini adalah salah satu area di mana Anda tidak perlu membedakan.
Ketika berbicara soal penamaan, Stroustrup gila, dan ini fakta yang terbukti secara ilmiah.
sumber
snake_case
untuk kelas dan ruang nama saya dan belum memiliki masalah - atau kebingungan - yang disebabkan oleh ini.Konvensi penamaan adalah tentang mendukung pemahaman manusia (yaitu programmer dan pemelihara) kode.
UDT dapat ditentukan sehingga deklarasi variabel, inisialisasi, ekspresi, dan pernyataan bekerja pada mereka secara berbeda dari kasus untuk tipe standar. Untuk menemukan masalah, berguna bagi pengelola untuk memiliki beberapa petunjuk bahwa beberapa bagian kode mungkin melakukan hal-hal yang funky (misalnya penerapan tipe integral yang ditentukan pengguna yang digunakan dalam beberapa fungsi mungkin memiliki kelemahan dalam cara penambahannya).
Ada banyak cara untuk memberikan isyarat tersebut (komentar, spesifikasi desain, dll). Keuntungan dari konvensi penamaan adalah mereka ada dalam kode, sedangkan komentar dapat dihilangkan, ketinggalan zaman, dll.
sumber
Salah satu alasan saya menggunakan kata kapital untuk tipe, adalah untuk membedakan variabel dari tipe. Ini memungkinkan untuk mendeklarasikan variabel dengan, selain huruf besar, nama yang sama:
Ini dapat berguna untuk kelas yang hanya menggunakan satu instance di setiap konteks, misalnya pengaturan konfigurasi.
sumber