Meskipun secara tata bahasa salah, ketika menulis pengidentifikasi untuk fungsi, variabel dll. Apakah masuk akal untuk hanya menambahkan "s" ke bentuk jamak dari kata yang diakhiri dengan Y? Alasan saya untuk ini adalah bahwa jika Anda perlu menemukan dan mengganti, misalnya, mengganti "perusahaan" dengan "vendor", "perusahaan" akan cocok dengan bentuk tunggal dan jamak (" perusahaan dan" perusahaan "), sedangkan jika jamak dieja dengan benar, Anda harus melakukan dua pencarian terpisah.
9
Jawaban:
Setiap pencarian dan penggantian semacam itu harus dilakukan dengan hati-hati dan setiap perubahan diperiksa secara manual untuk misalnya menghindari "menemani" dalam komentar menjadi "acvendor" dengan perubahan perusahaan / vendor Anda. Dengan demikian, dua pencarian terpisah untuk "perusahaan" dan "perusahaan" tidak boleh menciptakan overhead yang signifikan dibandingkan dengan waktu yang dihabiskan untuk memeriksa dan menyetujui setiap perubahan.
Jadi, kata-kata yang salah eja untuk mencapai hanya satu pencarian menawarkan hal-hal negatif dari tampak buruk dan menjadi lebih sulit dibaca daripada yang seharusnya, tanpa menawarkan manfaat yang jelas.
sumber
Saya berasumsi Anda sedang berbicara tentang penggantian nama dalam file kode sumber. Dengan IDE saat ini, ini harus selalu dilakukan dengan alat refactoring IDE. Jika IDE Anda tidak memiliki ini, pertimbangkan untuk beralih ke IDE lain. Sebagian besar alat refactoring IDE juga menyimpan riwayat refactoring, memberi Anda kemampuan untuk dengan cepat "membatalkan" jika Anda tidak menyukai hasil dari refactor. Menggunakan pencarian / ganti, Anda mungkin tidak memiliki kemampuan untuk membatalkan seluruh rangkaian perubahan (kecuali jika Anda mungkin menggunakan alat kontrol revisi dan kembali ke versi yang sebelumnya dilakukan). Selain itu, menggunakan alat refactoring Anda lebih aman dari secara tidak sengaja mengubah sesuatu yang tidak ingin Anda ubah.
sumber
Iya! Iya! Iya! Masuk akal untuk melakukan itu. Dan saya telah melakukannya selama bertahun-tahun.
Pengungkapan 1: Bahasa Inggris bukan bahasa ibu saya.
Pengungkapan 2: Pengetahuan saya tentang tata bahasa Inggris jauh lebih baik daripada rata-rata penutur asli.
Pengungkapan 3: Ketika berbicara dengan manusia, saya adalah seorang tata bahasa Nazi yang bersemangat.
Dan sekarang setelah pengungkapan ini tidak memungkinkan, izinkan saya menyatakan bahwa tata bahasa Inggris tidak memiliki tempat dalam kode. Anda lihat, itu sebabnya ini disebut kode dan bukan prosa . Seharusnya memiliki kemiripan dengan bahasa yang dipahami oleh manusia, untuk tujuan keterbacaan, tetapi selain itu, apa yang paling kita butuhkan dari kode bukanlah kualitas prosa; itu adalah kualitas lain, lebih teknis, seperti ketepatan , ketidakjelasan , dan kesederhanaan . Itu sebabnya sintaks C dari
if( x != y ) y++;
adalah banyak lebih baik untukIF X IS NOT EQUAL TO Y THEN ADD 1 TO Y END-IF.
sintaks Cobol. Dugaan keinginan kompiler yang memahami bahasa alami adalah kekeliruan, dan jangan mengambil kata-kata saya untuk itu, lihat apa yang ol'Edsger katakan tentang hal itu:Edsger W. Dijkstra, Tentang kebodohan "pemrograman bahasa alami" .Kualitas lain yang penting adalah kemampuan pengidentifikasi . Fakta bahwa properti yang dipanggil
Color
selalu dapat dibaca melalui metode yang dipanggilgetColor()
dan ditulis melalui metode yang disebutsetColor()
sangat penting. Pengidentifikasi ini dapat dihitung dari nama properti, sehingga Anda tidak harus mengetahuinya dengan hati. Jika seorang programmer memilih sepasang metode yang disebutgetColor()
di satu sisi, tetapicolorize()
di sisi lain, rekan-rekan mereka akan mempertimbangkan sabotase ini. Itulah betapa pentingnya komputabilitas pengidentifikasi.Juga, alat pemrograman dapat ditulis (dan banyak dari mereka sebenarnya telah ditulis, misalnya, Hibernate ) yang dapat menghitung nama-nama ini. Tanpa komputabilitas nama pengidentifikasi Anda harus menggunakan sintaks tambahan (misalnya dalam Hibernate, anotasi tambahan) untuk menentukan ke setiap alat dengan tepat bagaimana membuat setiap nama pengidentifikasi tunggal, atau tepatnya nama ad hoc yang telah Anda berikan untuk setiap entitas.
Jadi, komputabilitas pengidentifikasi adalah penting, sementara pada saat yang sama tata bahasa Inggris tidak relevan, (karena kita tidak melakukan pemrograman bahasa alami,) jadi untuk dapat menghitung nama kumpulan entitas dengan selalu menambahkan "s" ke nama dari satu contoh masuk akal, apalagi fakta bahwa itu melanggar kebanyakan orang (termasuk saya) kepekaan bahasa Inggris.
Dan apakah kita suka atau tidak, ini adalah tren masa depan. Bahasa asli sebagian besar programmer di planet ini bukan bahasa Inggris lagi, dan trennya akan berlanjut dengan sangat kuat ke arah ini. (Juga, saya bahkan tidak mau bertaruh uang pada saran bahwa bahasa Inggris adalah bahasa asli dari sebagian besar programmer yang bekerja di AS sekarang.) Ini adalah orang-orang yang, sebagian besar, ketika mencoba untuk menghitung nama koleksi dari nama satu contoh "perusahaan", hanya akan menambahkan "s", dan bentuk "perusahaan" bahkan tidak akan terlintas dalam pikiran mereka. Bagi persentase programmer yang hebat dan terus meningkat di dunia, pengetahuan tentang kekhasan bahasa Inggris tidak menambah nilai pada pekerjaan mereka, itu hanya membuatnya sedikit lebih sulit.
sumber
Companys
saat itu seharusnyaCompanies
. Lagi pula, seluruh poin kode yang biasanya kita tulis sebenarnya lebih dekat dengan bahasa alami.