bagaimana cara mengetahui apakah kesalahan ejaan dalam kode sumber adalah masalah serius atau tidak? [Tutup]

15

Saya menemukan sejumlah kesalahan ejaan yang sangat mengganggu yang saya lihat setiap hari di basis kode kami, yang darinya saya akan mereproduksi contoh yang sangat singkat namun representatif:

ArgumnetCount
Timeount
Gor message from queue 

Sayangnya ini tidak terbatas pada satu orang saja. Ada banyak penutur bahasa Inggris non-pribumi di tim kami yang berkontribusi terhadap hal itu, namun saya juga dapat menunjukkan beberapa kesalahan ejaan terburuk untuk Arsitek Perangkat Lunak kami yang berkebangsaan Amerika, lahir dan besar.

Ini juga dapat ditemukan bahkan dalam email, presentasi, dokumen, apa pun informasi tertulis yang kita miliki di perusahaan pengembang perangkat lunak.

Saya ingin tahu bagaimana mencari tahu apakah ini masalah serius atau tidak?

Saya selalu menghadapi kesalahan pengejaan ini dengan prihatin, tetapi kebijakan saya sendiri, pribadi, dan resmi adalah bahwa kita tidak dibayar untuk mengeja dengan benar, kita dibayar untuk menyelesaikan sesuatu, jadi di dalam perusahaan saya tidak pernah benar-benar mengkritik siapa pun tentang hal itu. Tetapi saya telah mengangkat masalah ini dengan beberapa teman dekat saya, dan tidak pernah menyelesaikannya untuk selamanya.

Andrei G
sumber
4
Memilih untuk ditutup sebagai di luar topik. Ini tidak terkait dengan pengembangan, tetapi ke domain mana pun di mana orang menulis, dari komentar YouTube hingga konten situs web. Beberapa orang tidak peduli dengan tulisan mereka dan memeriksa ejaan. Mereka senang membuat situs web e-commerce skala besar yang memiliki tiga kesalahan dalam judulnya sendiri, ditulis dengan huruf besar di beranda. Dan sayangnya, sebagian besar pengguna situs web e-commerce ini juga tidak peduli.
Arseni Mourzenko
5
@MainMa: menulis dalam bahasa pemrograman cukup berbeda dari menulis dalam bahasa manusia. Ketika Anda menulis untuk komentar YouTube, sangat jelas bahwa Anda menulis untuk pembaca manusia, tetapi dengan kode sumber, sikap umum adalah bahwa selama kompilasi dan bekerja, semuanya baik-baik saja.
tdammers
2
@tdammers: ketika Anda menulis kode sumber, atau pertanyaan di Stack Exchange, atau buku, atau komentar YouTube, atau konten halaman beranda situs web e-commerce Anda, dalam setiap kasus Anda melakukannya untuk orang-orang yang akan membaca Itu. Pemrograman tidak berbeda, dan kompiler Anda tidak peduli jika Anda memberi nama variabel ArgumentCountatau ArgumnetCount.
Arseni Mourzenko
16
Voting untuk dibuka kembali. Komentar dalam kode sangat berbeda dari komentar di media lain dan harus menyampaikan informasi yang rumit dengan cara yang ringkas. Saya tidak setuju bahwa mereka semua sama
Tom Squires

Jawaban:

19

Kesalahan pengejaan dapat berarti satu dari dua hal:

  • Orang yang membuatnya tidak fasih berbahasa Inggris, dan tidak meluangkan waktu untuk kompensasi dengan menggunakan alat yang sesuai (kamus, pemeriksa ejaan, dll.)
  • Orang yang membuatnya mahir dalam bahasa Inggris, tetapi tidak peduli dengan ejaan sama sekali.

Entah itu pertanda yang cukup buruk, karena itu berarti orang tersebut tidak memiliki keterbacaan, pemeliharaan dan keanggunan tinggi pada daftar prioritas mereka; jika penyebabnya adalah kurangnya kemahiran bahasa Inggris, itu juga berarti bahwa orang tersebut tidak memiliki dua keterampilan penting - komunikasi bahasa Inggris tertulis, dan perasaan umum untuk bahasa (jika Anda tidak dapat mengekspresikan pikiran Anda dengan jelas dalam bahasa Inggris, kemungkinan Anda bisa ' t mengekspresikannya dengan baik dalam bahasa pemrograman juga).

Tetapi mengapa sebenarnya kesalahan pengejaan itu buruk, semuanya sama? Lagipula, kodenya berfungsi, dan kompiler sama sekali tidak peduli bagaimana Anda memberi nama pengidentifikasi Anda, asalkan tidak melanggar aturan sintaksis. Alasannya adalah bahwa kita menulis kode tidak hanya untuk komputer, tetapi juga dan yang terutama, untuk manusia. Jika bukan itu masalahnya, kami masih akan menggunakan perakitan. Kode sumber ditulis sekali, tetapi dibaca ratusan kali selama siklus hidupnya. Kesalahan pengejaan membuat membaca dan memahami kode sumber lebih sulit - kesalahan ringan menyebabkan pembaca tersandung dalam sepersekian detik, banyak dari mereka dapat menyebabkan penundaan yang cukup; kesalahan yang sangat buruk dapat membuat kode sumber benar-benar tidak dapat dibaca. Ada masalah lain, yaitu sebagian besar kode yang Anda tulis akan dirujuk oleh kode lain, dan kode itu lebih sering ditulis oleh orang lain. Jika Anda salah mengeja pengidentifikasi Anda, orang lain harus mengingat (atau mencari) tidak hanya nama itu, tetapi juga bagaimana tepatnya itu salah eja. Ini membutuhkan waktu dan memutus aliran pemrograman; dan karena sebagian besar kode disentuh lebih dari satu kali dalam pemeliharaan, setiap kesalahan ejaan menyebabkan banyak gangguan.

Pertimbangkan bagaimana waktu pengembang sama dengan gaji sama dengan pengeluaran, saya pikir itu harus cukup mudah untuk membuat kasus ini; Bagaimanapun, memutus aliran dan kembali ke dalamnya dapat memakan waktu hingga 15 menit. Dengan cara ini, kesalahan pengejaan yang parah dapat dengan mudah menghabiskan biaya beberapa ratus dolar untuk pengembangan dan pemeliharaan lebih lanjut (tetapi itu adalah biaya tidak langsung, tidak langsung terlihat dalam perkiraan dan evaluasi, sehingga sering diabaikan oleh manajemen).

tammmer
sumber
5
Saya akan menambahkan bahwa kesalahan ejaan dapat menyebabkan masalah debug yang sulit di mana thisVaraibledan thisVariableterlihat hampir sama dan 'secara teknis' benar.
Spencer Rathbun
6
+1, tetapi pernyataan: "jika Anda tidak dapat mengekspresikan pikiran Anda dengan jelas dalam bahasa Inggris, kemungkinan Anda tidak dapat mengekspresikannya dengan baik dalam bahasa pemrograman juga" adalah omong kosong!
Martin Ba
2
@ Martin: Saya belum menemukan programmer kelas dunia dengan gaya penulisan yang mengerikan. Semua programmer top yang saya kenal juga mampu menulis bahasa Inggris yang singkat dan jelas; beberapa dari mereka (Knuth, Dijkstra) bahkan agak terkenal dengan gaya penulisan mereka.
tdammers
5
@tdammers: Jika mereka bahasa Inggris penutur asli, saya setuju. Tetapi jika Anda memiliki bahasa ibu yang berbeda, Anda dapat memiliki pemahaman bahasa Inggris yang cukup mengerikan dan tetap menjadi programmer yang baik. Itulah yang saya maksud dengan omong kosong. Saya setuju bahwa Pemrogram yang Baik juga dapat Menulis dengan Baik - dalam bahasa alami apa pun mereka fasih. (Sedikit bahasa Inggris jelas membantu menemukan jalan Anda di internet, tetapi Anda tidak dengan cara apa pun perlu fasih atau seorang penulis yang baik atau memiliki pemahaman tata bahasa atau gaya dalam bahasa Inggris :-)
Martin Ba
5
Perhatikan bagaimana Dijkstra bukan penutur asli ...
tdammers
9

Saya benar-benar ragu apakah "Timeount" adalah masalah tidak menjadi penutur asli. Orang membuat banyak kesalahan ketik dalam bahasa pertama mereka. Saya tidak akan memenuhi syarat contoh-contoh khusus ini sebagai "Engrish".

Karena itu, saya mengerti bahwa ini bukan tentang contoh-contoh khusus ini. Saya setuju dengan Anda pada prinsipnya. Saya telah menemukan masalah aktual yang disebabkan oleh jenis barang ini ("jika tidak ada kolom bernama lampiran, buat lampiran").

Menjadi seorang programmer adalah tentang menjadi tepat dan berhati-hati dengan kesalahan ketik, koma, titik koma, titik, yang merupakan bahasa manusia-agnostik sebagian besar waktu.

Konrad Morawski
sumber
9

Pertama kali Anda membuang waktu mencari Timeoutvariabel hanya untuk mengetahui bahwa itu ditulis Timeount, Anda akan tahu alasan lain mengapa ejaan itu penting.

Eric King
sumber
7

Jika masalah ini mengganggu Anda, sebagian besar IDE sekarang mengizinkan pemeriksaan ejaan dalam komentar sehingga penderita disleksia setidaknya dapat terlihat seperti mereka yang tahu cara mengeja. Itu pasti membantu saya! Oleh karena itu "perbaikan" sepele untuk memiliki ejaan yang baik.

Sardathrion - Pasang kembali Monica
sumber
2
Jika Anda memilih, bisakah Anda meluangkan waktu untuk menyatakan mengapa sehingga saya dapat meningkatkan jawaban saya?
Sardathrion
6
Saya tidak mengundurkan diri, tetapi Anda tidak benar-benar menjawab pertanyaannya. Anda memberi saran tentang cara menghindari kesalahan pengejaan. Itu komentar yang benar-benar valid, tetapi bukan yang diminta OP.
Konrad Morawski
6

Kesalahan pengejaan dalam nama dan metode kelas publik sama sekali tidak profesional. Mereka menghabiskan waktu dan uang. Mereka menyakitkan dalam bahasa yang diketik secara statis seperti Java, di mana IDE dapat menghasilkan menu nama kelas dan metode. Mereka tidak bisa ditoleransi dalam bahasa yang diketik secara dinamis.

Lebih buruk lagi adalah kesalahan ejaan dalam nama tabel database dan nama kolom.

Dalam pengalaman saya, pengejaan yang benar hanya sedikit terkait dengan kemahiran bahasa Inggris pembuat kode. Saya telah melihat penutur asli bahasa Inggris menghasilkan kode dengan ejaan dan istirahat kata pada dasarnya acak, dan telah melihat penutur bahasa Inggris non-asli yang berhati-hati untuk menghasilkan ejaan yang benar. Tetapi ejaan yang benar sangat terkait dengan kualitas kode secara keseluruhan. Pemrogram yang cakap, tidak peduli kemampuan bahasa Inggris mereka, peduli dengan kualitas pekerjaan mereka, dan berhati-hati dalam penamaan.

kevin cline
sumber
5

Dalam kode sumber, presentasi internal dan dokumen, dll. Kesalahan ketik kecil yang tidak mengubah arti atau menghambat pemahaman bukanlah masalah. Perbaiki sendiri sumbernya jika Anda merasa menjengkelkan.

Juga, khususnya dalam komentar, substansi lebih penting daripada bentuk. Tidak ada Engrish di sini:

String s = "Wikipedia"; / * Menetapkan nilai "Wikipedia" ke variabel s. * /

Faktanya adalah bahwa beberapa orang secara alami penulis lebih hati-hati daripada yang lain (apakah ini karena pendidikan, atau karena sikap, atau karena kecerdasan atau apa pun, tidak relevan). Seberapa banyak upaya yang harus dilakukan untuk memperbaikinya adalah pertanyaan nilai bisnis: apakah Anda mendapatkan lebih banyak nilai dari memperbaiki kesalahan ketik, daripada menghabiskan waktu untuk memperbaikinya? Dalam hal hal internal, jawabannya biasanya tidak. Pelanggan Anda tidak akan mengeluh tentang kesalahan ketik dalam komentar kode sumber Anda (kecuali jika Anda melakukan open source).

Komentar salah ketik dan komentar yang tidak pantas tidak profesional dan harus dihindari, tetapi fokusnya harus pada hal-hal yang penting (yaitu menghasilkan nilai bisnis, jika Anda bekerja untuk bisnis).

Barang-barang yang terlihat oleh publik tentu saja harus dibaca dengan cermat.

Joonas Pulakka
sumber
2
Tolong beritahu saya Anda mengetik "porblem" dengan sengaja. :)
pdr
2
Memang saya lakukan. Jika Anda merasa menjengkelkan, Anda dapat memperbaikinya;)
Joonas Pulakka
2
Oh tidak. Saya menemukan itu sangat lucu.
pdr
6
"Beberapa orang adalah penulis yang lebih berhati-hati ..." Ya, dan orang yang sama juga adalah programmer yang lebih hati-hati. Saya belum bertemu dengan programmer yang baik yang juga tidak hati-hati dalam komunikasi tertulis.
kevin cline
4

Masalahnya di sini bukanlah engrish itu sendiri tetapi kurangnya kejelasan komentar. Bahasa Inggris yang sempurna tidak perlu, bahasa Inggris yang jelas adalah. Itu sepele untuk menjalankan sesuatu melalui google untuk mengambil kesalahan yang jelas.

Misalnya tidak jelas dari pandangan pertama jika Gor message from queue berarti "mendapat pesan dari antrian" atau "pesan GOR dari antrian". Anda perlu membaca kode untuk memahami makna komentar (sehingga mengalahkan objek komentar).

Anda harus meminta untuk menerapkan ulasan kode di perusahaan Anda. Anda kemudian dapat "mengkritik" orang dengan cara yang konstruktif sementara mereka melakukan hal yang sama kepada Anda.

Tom Squires
sumber
2

Seharusnya jelas bahwa kompiler tidak peduli tentang kesalahan eja, asalkan Anda menggunakan ejaan yang sama, misalnya saat mereferensikan variabel. Pertanyaannya kemudian menjadi apakah kesalahan ejaan berdampak negatif pada kemampuan anggota tim untuk mempertahankan kode.

Satu-satunya cara saya dapat melihat untuk melakukan itu adalah berbicara dengan orang-orang yang melakukan pemeliharaan, dan Anda bisa mulai dengan bertanya apakah ada yang lebih sulit mengikuti kode yang mengandung kesalahan ejaan.

Saya tidak berpikir ada cara untuk menghapus subjektivitas dari masalah ini sepenuhnya, tetapi untuk menguranginya, Anda bisa (secara manual atau melalui skrip) memindai sumber untuk mendapatkan perkiraan jumlah kesalahan ejaan untuk modul kode tertentu, dan melihat apakah pemeliharaan pada modul dengan jumlah kesalahan ejaan yang lebih tinggi, dibutuhkan waktu rata-rata lebih banyak daripada modul dengan kesalahan ejaan yang lebih sedikit.

Tentu saja tidak semua modul dibuat sama, sehingga Anda dapat mempertimbangkan untuk menimbang hasil Anda dengan berbagai metrik seperti kompleksitas siklomatik dari modul tersebut.

Mike Partridge
sumber
Mike, perbedaan jawaban dan pertanyaannya adalah perubahan besar-besaran baru-baru ini dibuat untuk itu. Sampai Rev 3, judul pertanyaannya adalah Bagaimana pendapat Anda tentang kode sumber engrish? dan teks itu sangat sejalan dengan itu
nyamuk
Itu masuk akal @gnat; Saya telah menghapus paragraf tambahan dari jawaban saya.
Mike Partridge
2

Dalam pengalaman saya, kesalahan ejaan dasar seperti itu meresahkan, dan mungkin merupakan gejala dari masalah yang lebih dalam. Setiap proyek yang saya kerjakan dengan kesalahan "sepele" seperti itu memiliki masalah nyata dalam desain yang entah bagaimana membuatnya melalui proses peninjauan hanya untuk memotong selama pengembangan, yang bukan ketika Anda ingin mengetahui bahwa fungsionalitas kritis yang Anda butuhkan tidak ada di sana.

Saya akan memeriksa ulang spesifikasi untuk sistem (jika ada) dan memeriksa desain keseluruhan; Saya tidak akan terkejut jika Anda menemukan beberapa lubang.

John Bode
sumber
1

Ini sebenarnya adalah dua masalah yang terpisah, tetapi terkait. Itu tergantung di mana kesalahan ejaannya:

1) Dalam kode sumber. Jika Anda memiliki pengenal seperti ArgumnetCount, itu dapat menciptakan masalah nyata ketika seseorang datang dan menggunakan ejaan yang benar . Jadi, Anda harus memperbaiki kesalahan itu jika memungkinkan. Jika Anda perlu menjaga kompatibilitas API, Anda dapat melakukan sesuatu seperti:

/**
 * @deprecated - use setArgumentCount()
 */
public void setArgumnetCount(int c) {
    setArgumentCount(c);
}

2) Dalam teks yang dapat dibaca manusia (email, dokumentasi, komentar kode). Menulis itu dengan benar itu penting, tetapi saya akan mengatakan itu adalah prioritas yang lebih rendah, karena perangkat lunak parsing di dalam kepala Anda jauh lebih memaafkan. Jika Anda melihat teks dengan beberapa kesalahan, itu masih dapat dibaca, maka jangan khawatir tentang hal itu - itu bukan masalah Anda. Tetapi jika seseorang mengirimi Anda omong kosong asosiatif bebas dan mengharapkan Anda menggunakan omong kosong itu sebagai cetak biru untuk aplikasi web multi-pengguna, maka Anda harus mengirimi penulis sebuah catatan sopan yang meminta klarifikasi (sesuatu seperti: "Kamu bodoh, bagaimana Anda mengharapkan saya untuk memahami omong kosong ini? ")

Mike Baranczak
sumber
-1

Bahasa Inggris yang dieja dengan benar adalah suatu keharusan dalam kode. Saya juga memiliki basis kode besar penuh omong kosong di dalamnya dan itu adalah mimpi buruk untuk dipertahankan.

Jangan biarkan ini lepas kendali. Cobalah untuk mendidik semua orang bahwa pengelola kode bukan pembaca pikiran.

linkerro
sumber
1
"Cobalah untuk mendidik semua orang" - Saya melakukannya dan sekarang mereka salah mengeja / salah ketik hanya untuk membuat saya marah. Harus menyukainya ...
MetalMikester
5
@MetalMikester: mungkin sudah saatnya mencari toko yang lebih profesional.
kevin cline
-1

Nah, ini adalah masalah budaya banyak sisi.

Berbicara dari perspektif Jerman: kami memperhatikan bagaimana bahasa kami sendiri semakin dipengaruhi oleh istilah bahasa Inggris. Sejauh ini perusahaan nasional memiliki slogan atau iklan bahasa Inggris. Beberapa orang, terutama di posisi manajemen sementara itu tampaknya tidak dapat mengucapkan satu kalimat dalam bahasa Jerman. Pidato mereka penuh dengan kata-kata buzz dan gaul manajemen yang tidak bisa dipahami. Kami mengatakan orang-orang tersebut berbicara "bahasa Inggris".

Mengingat keadaan ini dan bahasa Inggris menjadi "lingua franca" terutama dalam bisnis perangkat lunak, tidak dapat dihindari bahwa bahasa Inggris sendiri dipengaruhi oleh sejumlah besar penutur asli. Tetapi untuk penutur asli bahasa Inggris ini masih lebih baik daripada harus belajar, katakanlah, Cina untuk mengambil bagian dalam industri SW.

Ingo
sumber
-1

Apakah itu warna atau warna? Versi bahasa Inggris siapa Anda pikir adalah salah satu yang benar? Ejaan satu pria yang benar adalah alasan pria lain untuk memulai perang yang dapat dimenangkan.

Jika Anda ingin memulai perang, pilih pertempuran Anda dengan hati-hati dan menangkannya. Dalam kasus Anda, jangan khawatir tentang komentar, kurang khawatir tentang internal dan fokus (hampir) secara eksklusif pada API

mattnz
sumber
-3

Saya memiliki pepatah: Kode rapi tidak selalu berarti pikiran yang rapi, tetapi kebalikannya tentu benar: kode tidak rapi, pikiran tidak rapi.

Seorang programmer yang tidak meluangkan waktu untuk memberi nama variabel dengan benar dan mengeja komentar dengan benar hampir pasti tidak meluangkan waktu untuk melakukan hal lain dengan benar. Apakah programmer adalah penutur asli bahasa Inggris bukanlah masalah nyata, karena masalah dengan bahasa Inggrisnya dapat (dan harus) ditangani selama peer review.

Ya, ini adalah masalah serius untuk produk, untuk tim dan untuk individu.

  • Untuk produk: koreksi dapat menyebabkan cacat yang hanya ditangkap oleh pelanggan
  • Untuk tim: tim menghabiskan waktu memperbaiki kode ceroboh daripada menciptakan nilai
  • Untuk individu: ejaan yang buruk membuat Anda terlihat bodoh dan menurunkan posisi profesional Anda di antara rekan-rekan Anda.
Christopher Williams
sumber
4
ini tampaknya tidak menawarkan sesuatu yang substansial atas poin yang dibuat dan dijelaskan dalam 14 jawaban sebelumnya. Sulit menabrak pertanyaan berusia 3 tahun dengan konten seperti itu
agas