Oke, ini adalah salah satu hal kecil yang selalu mengganggu saya. Saya biasanya tidak menyingkat pengidentifikasi, dan satu-satunya waktu saya menggunakan pengidentifikasi pendek (misalnya, i
) adalah untuk loop ketat. Jadi itu mengganggu saya ketika saya bekerja di C ++ dan saya memiliki variabel yang perlu dinamai operator
atau class
dan saya harus bekerja di sekitarnya atau menggunakan singkatan, karena akhirnya mencuat. Peringatan: ini mungkin terjadi pada saya secara tidak proporsional karena saya banyak bekerja dalam desain bahasa pemrograman, di mana objek domain dapat mencerminkan konsep dalam bahasa host dan secara tidak sengaja menyebabkan bentrokan.
Bagaimana Anda menangani ini? Singkatan? ( op
) Salah mengeja? ( klass
) Sesuatu yang lain? ( operator_
)
$var
sintaks PHP , ini dia.Jawaban:
Terima bahwa Anda mungkin harus membuat perubahan kecil pada konvensi penamaan Anda, seperti menambahkan huruf besar. Lebih baik menerima ini sesegera mungkin sehingga semua kode selanjutnya konsisten.
Pertimbangkan untuk lebih spesifik. Kata kunci cenderung cukup luas, sehingga mempersempit
class
bawah untukdemonstrationClass
tidak hanya bekerja di sekitar masalah tetapi juga meningkatkan keterbacaan.sumber
Itu bukan sesuatu yang saya temui, tetapi jika saya berada dalam situasi seperti itu, saya akan mencoba menyelesaikannya dengan opsi berikut, secara berurutan.
sumber
const Foo&
tidak memiliki nama lengkap yang masuk akal selainfoo
. Memang, mungkin lebih baik untuk memberikanFoo
nama yang lebih deskriptif daripadafoo
jika itu hidup di badan fungsi dan melayani tujuan yang kurang terspesialisasi.Bahasa menang; Anda tidak bisa mengakali kompiler (mengabaikan kekejian seperti PL / 1
IF IF = THEN THEN THEN = ELSE ELSE ELSE = IF END
, tetapi kemudian PL / 1 tidak akan membuat Anda mengajukan pertanyaan sejak awal). Pada dasarnya, Anda harus mengikuti aturan bahasa, dan Anda harus menemukan alternatif kata kunci bahasa untuk Anda gunakan sendiri - atau menemukan bahasa alternatif.Jadi, kecuali dalam keadaan yang sangat tidak biasa, Anda beradaptasi dengan bahasa, bukan sebaliknya.
sumber
Alih-alih menyingkat bagaimana tentang pemanjangan? Jika Anda menerapkan konstruksi kelas dalam bahasa Foo, bagaimana dengan menggunakan FooClass dan foo_class? (Modulo apa pun preferensi casing Anda).
sumber
Beberapa singkatan yang saya gunakan untuk
class
, berdasarkan frekuensi:cls
clss
clazz
theClass
aClass
Jika saya tahu kelas apa yang
Class
diwakilkan oleh instance, saya mungkin memasukkannya dalam nama variabel:stringClass = Class.forName("java.lang.String");
sumber
Dalam C dan C ++, kata kunci semuanya huruf kecil dan bahasanya peka terhadap huruf besar-kecil, jadi tekan tombol shift dari waktu ke waktu dan banyak masalah hilang.
Di Modula 2, kata kunci semuanya huruf besar - tetapi selama pengidentifikasi Anda memiliki beberapa huruf kecil perbedaannya jelas dan bentrok mustahil.
Juga, konvensi penamaan mutlak sampai batas tertentu perlu mencerminkan konvensi normal dari bahasa yang Anda gunakan, jadi saya pasti akan menulis "myClass" di Jawa di mana saya lebih mungkin menulis "My_Class" di C ++.
Pada dasarnya, Anda tidak hanya menulis untuk kompiler, tetapi apa yang orang dapat baca tergantung pada konteks dan harapan terkait.
sumber
class
danClass
akan merusak pembacaan kode.Saya tidak sering mengalami hal ini, tetapi ketika saya melakukannya cenderung tidak menjadi masalah karena saya menggunakan Delphi dan ini memungkinkan Anda untuk mengatasi masalah ini dengan menambahkan & ke pengidentifikasi. Jadi "kelas" bukan pengidentifikasi yang valid, tetapi "& kelas" adalah.
sumber
Saya akan menambahkan semacam namespacing ke nama variabel. Sebagai contoh, misalkan Anda memiliki pengguna bernama modul maka saya akan memodifikasi nama variabel operator menjadi sesuatu seperti user_operator atau userOperator.
sumber
a
,an
danthe
digunakan dengan mengganggu frekuensi dengan pemula siswa CS.aPerson
.a
selain dari variabel loop ketat: /ubah atau sesuaikan konvensi penamaan saya
sumber