Argumen ini mengasumsikan Anda tidak memiliki masalah dengan mengetikkan unicodes atau membaca huruf yunani
Inilah argumennya: Anda ingin pi atau circular_ratio?
Dalam hal ini, saya lebih suka pi ke circular_ratio karena saya sudah belajar tentang pi sejak saya masih di sekolah dasar dan saya bisa berharap definisi pi sudah mendarah daging bagi setiap programmer yang membutuhkan garamnya. Oleh karena itu saya tidak keberatan mengetik π berarti circular_ratio.
Namun, bagaimana dengan itu
winner_sigma_new = ( winner_sigma ** 2 *
( 1 -
( winner_sigma ** 2 -
general_uncertainty ** 2
) * Wwin(t,e)
) + dynamics ** 2
)**.5
atau
σw_new = (σw**2 * (1 - (σw**2)/(c**2)*Wwin(t, e)) + γ**2)**.5
Bagi saya, kedua versi itu sama-sama buram, persis seperti pi
atau apa π
adanya, kecuali saya tidak belajar rumus ini di sekolah dasar. winner_sigma
dan Wwin
tidak ada artinya bagi saya, atau bagi orang lain yang membaca kode, dan menggunakan keduanya σw
tidak membuatnya lebih baik.
Jadi, menggunakan nama deskriptif, misalnya total_score
, winning_ratio
dll akan meningkatkan keterbacaan jauh lebih baik daripada menggunakan nama ascii yang hanya melafalkan huruf yunani . Masalahnya bukan bahwa saya tidak bisa membaca huruf Yunani, tapi saya tidak bisa menghubungkan karakter (Yunani atau tidak) dengan "makna" dari variabel.
Anda pasti mengerti masalah sendiri ketika Anda berkomentar: You should have seen the paper. It's just eight pages...
. Masalahnya adalah jika Anda mendasarkan penamaan variabel Anda di atas kertas, yang memilih nama huruf tunggal untuk keringkasan daripada keterbacaan (terlepas apakah mereka Yunani), maka orang harus membaca kertas untuk dapat mengaitkan surat-surat dengan "berarti"; ini berarti Anda menempatkan penghalang buatan bagi orang untuk dapat memahami kode Anda, dan itu selalu merupakan hal yang buruk.
Bahkan ketika Anda tinggal di dunia ASCII saja, keduanya a * b / 2
dan alpha * beta / 2
rendering yang sama buram dari height * base / 2
, rumus area segitiga. Ketidak terbaca menggunakan variabel huruf tunggal tumbuh secara eksponensial ketika formula tumbuh dalam kompleksitas, dan formula AllegSkill tentu bukan formula yang sepele.
Variabel huruf tunggal hanya dapat diterima sebagai penghitung putaran sederhana, apakah itu huruf tunggal Yunani atau huruf tunggal ascii, saya tidak peduli; tidak ada variabel lain yang hanya terdiri dari satu huruf. Saya tidak peduli jika Anda menggunakan huruf yunani untuk nama Anda, tetapi ketika Anda menggunakannya, pastikan saya dapat mengaitkan nama-nama itu dengan "makna" tanpa perlu membaca kertas yang sewenang-wenang di tempat lain.
Ketika di sekolah dasar, saya pasti tidak keberatan melihat ekspresi matematika menggunakan simbol seperti: +, -, ×, ÷, untuk aritmatika dasar dan √ () akan menjadi fungsi akar-persegi. Setelah saya lulus sekolah dasar, saya tidak keberatan dengan penambahan simbol baru yang mengkilap: ∫ untuk integrasi. Perhatikan trennya, ini semua operator. Operator jauh lebih banyak digunakan daripada nama variabel, tetapi mereka lebih jarang digunakan kembali untuk makna yang sama sekali berbeda (dalam kasus di mana ahli matematika menggunakan kembali operator, makna baru sering masih memiliki beberapa sifat dasar dari makna lama; ini bukan kasus untuk saat menggunakan kembali nama variabel).
Kesimpulannya, tidak, itu tidak buruk untuk menggunakan karakter Unicode untuk nama variabel; Namun, selalu buruk untuk menggunakan nama huruf tunggal untuk nama variabel, dan diizinkan untuk menggunakan nama Unicode bukan lisensi untuk menggunakan nama variabel huruf tunggal.