Haruskah saya menunjukkan kesalahan terkait ejaan / tata bahasa dalam kode seseorang? [Tutup]


106

Saat meninjau kode rekan kerja, saya menemukan beberapa kesalahan ejaan dalam nama fungsi dan juga kesalahan tata bahasa seperti 'doesUserHasPermission ()' alih-alih 'doesUserHavePermission ()' dalam fungsi dan nama variabel.

Haruskah saya tunjukkan ini padanya atau saya terlalu sombong dengan memperhatikan ini?


3
Saya mungkin berhati-hati bahwa orang itu benar-benar ingin membantu dengan bahasa Inggris mereka, jika itu bukan bahasa kedua mereka. Beberapa orang puas mengetahui bahwa mereka tidak mampu mengekspresikan pemikiran terstruktur, bahwa mereka hanya tidak mampu berbahasa Inggris dengan baik. Jika bahasa Inggris adalah bahasa ibu mereka, maka ya, saya pikir tata bahasa yang buruk adalah masalah.
Rei Miyasaka

31
Iya. Benar-benar membuat frustrasi ketika Anda memiliki API dengan ejaan yang salah. Itu menyebar seperti api. Jadi lebih baik untuk memperbaikinya sesegera mungkin.

9
@Rei: apakah bahasa Inggris adalah bahasa ibu mereka atau tidak harus tidak relevan dalam lingkungan profesional; jika tidak terlalu buruk bagi mereka tetapi tidak ada alasan, mereka harus memiliki standar yang sama.
Thomas Bonini

4
@ Reei, banyak pekerjaan pemrograman yang saya lihat diiklankan membutuhkan kecakapan dalam Bahasa Asli karena alasan ini. Mampu membahas persyaratan, desain, spesifikasi, dan konstruksi semua sangat penting untuk seluruh produk perangkat lunak secara keseluruhan.
Stephen Furlani

Jawaban:


205

Kode dengan kesalahan pengejaan dan tata bahasa tidak dapat dipertahankan .

  • Orang tidak akan mengingat tata bahasa yang buruk, jadi mereka akan mencoba memanggil fungsi seperti yang seharusnya ditulis, dan begitulah bug terjadi.

  • Anda tidak dapat menerima sesuatu dalam kode jika Anda tidak tahu bagaimana mengejanya.

  • Kebanyakan orang yang membuat tata bahasa / ejaan melakukannya secara tidak konsisten, sehingga mereka akan memperkenalkan banyak bug dengan penamaan yang tidak cocok. Ini khususnya bermasalah dalam bahasa yang tidak mengharuskan variabel untuk secara eksplisit dideklarasikan sebelum digunakan, karena Anda dapat memperkenalkan ejaan baru dan kode Anda tidak akan berhenti untuk memberi tahu Anda bahwa Anda mengacaukannya.

Memperbaiki masalah-masalah ini bukanlah hal yang rumit, juga tidak diharuskan terutama oleh pendapat orang lain tentang kecerdasan, literasi, dll. (Meskipun itu adalah efek samping yang besar); ini tentang kualitas penulisan , kode yang bisa dipelihara .


7
+1 Terkadang menyayangkan perasaan seseorang itu penting, tetapi ketika ulasan kode ... jika Anda menangkapnya, itu adalah permainan yang adil untuk berkomentar. Perusahaan saya menggunakan wadah untuk ulasan kode, yang memungkinkan semua ulasan untuk melihat bahwa itu ditangkap dan memungkinkan pengulas untuk menandainya bukan sebagai cacat, tetapi sebagai gaya.
Opello

15
+1 - Setelah kesalahan ejaan dan tata bahasa membuat jalan mereka ke API, mereka hampir tidak mungkin untuk keluar lagi. Saya menghabiskan bagian yang lebih baik dari tiga tahun harus menulis "Avtivity" daripada "Activity", dan secara fisik selalu menyakitkan untuk melakukannya.
John Bode

7
Untuk lebih baik atau lebih buruk, praktik pemrograman yang baik sering kali mengarah ke sesuatu yang sangat mirip keeduhan. Plus, saya ingin menemukan orang yang salah mengeja Referrerdalam spesifikasi HTTP asli dan menendangnya di pergelangan kaki. Tentu saja, itu mungkin Berners-Lee dan jadi saya merasa bersalah sesudahnya ...
Malvolio

2
@Stephan Furlani: itulah poin yang saya coba buat; itu adalah bagian dari API yang tidak kami miliki. Kami tidak dapat memperbaikinya di pihak kami, dan proses untuk memperbaikinya cukup jelek dan panjang sehingga tidak ada yang ingin mengacaukannya.
John Bode

2
@ John Bode, saya pikir Anda harus membuat fungsi wrapper :) C # memiliki trik yang rapi untuk itu (saya lupa namanya).
Pekerjaan

38

Iya tentu saja. Lebih mudah untuk mengingat nama jika secara tata bahasa benar. Mencoba mengingat nama dan kesalahan tata bahasa adalah hal yang sama sekali berbeda.


29

Jangan tunjukkan sebagai cacat dalam tinjauan kode formal. Alih-alih, tandai daftar dan bicarakan dengan PRIVATELY tentang mereka. Jadilah diplomatis mungkin tentang hal itu, hanya "Hei, sesuatu yang saya perhatikan, dan saya telah bertemu dengan orang-orang yang BENAR-BENAR meremehkan hal semacam ini, mereka pikir itu membuat programmer terlihat ceroboh dan ceroboh."

Jika ini kode yang ingin dilihat pelanggan, itu benar-benar HARUS diperbaiki. Suka atau tidak, itu TIDAK mencerminkan reputasi perusahaan Anda.

Untuk contoh yang Anda berikan, saya menduga itu dimulai sebagai UserHasPermission, dan orang lain mengatakan kepadanya bahwa praktik lokal adalahUserBlahBlah () daripada UserBlahBlah (), dan ia hanya mengabaikan perubahan tata bahasa.


12
Mengatakan itu tentang persepsi orang lain membuatnya tampak tidak penting. Katakan yang sebenarnya - mereka membuat kode lebih sulit untuk dipertahankan dan dikembangkan.
HedgeMage

5
@HedgeMage: Pengalaman pribadi saya dengan hal-hal seperti ini adalah bahwa beberapa orang sangat sensitif terhadap hal-hal yang mereka anggap sebagai kritik terhadap diri mereka sendiri. Lebih buruk lagi, bisa ada dampak politik yang benar-benar jelek, jika orang yang Anda kritik tampaknya dicintai oleh manajemen. (Ya, saya memiliki luka untuk membuktikan hal ini.) DAN saya telah melihat organisasi yang benar-benar tidak peduli tentang hal semacam ini, selama kode itu bekerja, untuk beberapa definisi "berhasil". Perasaan pribadi saya adalah bahwa Anda memiliki peluang yang lebih baik untuk memperbaikinya, dengan sedikit sakit kepala lainnya, jika Anda melakukannya dengan lembut.
John R. Strohm

12
@ John Saya tentu bisa melihat bahwa situasi kerja yang buruk dapat memaksa seseorang untuk harus berjalan di atas kulit telur seperti itu - tetapi ini adalah situasi yang buruk jika itu masalah pertama. Seseorang dengan ego yang begitu rapuh (dan budaya tempat kerja yang memungkinkan kejahatan mereka) tidak baik untuk memulai bisnis.
HedgeMage

6
Kebanyakan programmer yang matang menerima kritik dengan baik. Lagi pula, untuk itulah peer review (dan kita semua melakukan review kode, bukan?) Tidak apa-apa untuk mengkritik ejaan dan tata bahasa komentar, nama fungsi, dll. SEMUA mencerminkan tidak hanya pada penulis tetapi di seluruh organisasi mereka.
cepat,

6
Saya harus setuju dengan HedgeMage di sini, jika Anda tidak dapat menunjukkan kesalahan seperti ini selama tinjauan kode (terutama ketika mereka secara objektif salah, seperti contoh dalam pertanyaan) maka Anda memiliki masalah yang lebih besar ...
Dean Harding

10

Ubah sendiri.

Semoga Anda berada di lingkungan di mana kode "kepemilikan" tidak menjadi masalah. Jika Anda memiliki akses ke proyek dalam kontrol sumber, cukup masuk dan perbaiki sendiri. Jika Anda melihat rekan kerja tertentu membuat jenis kesalahan tata bahasa atau pengejaan yang sama secara konsisten, Anda mungkin ingin menunjukkannya, tetapi itu akan tergantung pada hubungan Anda, apakah orang tersebut adalah penutur asli bahasa Inggris, dan daya penerimaan mereka secara umum. Tetapi apakah Anda pernah memutuskan untuk melakukan itu atau tidak, diam-diam pergi dan lakukan perbaikan. Saya melakukan ini sepanjang waktu, jika saya melihat kesalahan ketik, terutama dalam metode tanda tangan atau properti publik, saya hanya memperbaikinya. Kadang-kadang saya bahkan tidak bisa menahan godaan untuk memperbaiki kesalahan ketik dalam komentar, tapi itu hanya saya :)


5
Dan kemudian Anda menemukan bahwa Anda baru saja melanggar kode orang ketiga. Anda perlu memperbaiki hal-hal semacam ini SECEPATNYA, bukan hanya ketika Anda bisa melakukannya setelah orang pertama memeriksa semuanya.
David Thornley

Jika Anda khawatir perbaikan kode mana pun dapat merusak kode "orang lain", dan Anda tidak dapat mengatakannya, maka Anda memiliki masalah yang lebih besar daripada mengeja.
Cornel Masson

@CornelMasson: Tidak juga. Ini adalah bagian penting dari merancang API.
Lightness Races dalam Orbit

6

Saya seorang pengembang yang bahasa ibunya bukan bahasa Inggris, itu sebenarnya bahasa Belanda, dan tidak akan keberatan sama sekali jika seseorang akan menunjukkan kesalahan tata bahasa atau ejaan kepada saya. Dengan cara itu saya dapat terus meningkatkan bahasa Inggris saya. Dan tentu saja tidak sulit untuk memperbaiki semua kesalahan dalam semua kode sumber Anda. Script Perl sederhana dapat dengan mudah ditulis untuk loop melalui semua file dalam folder. Mungkin bahkan bisa dilakukan dengan sed? Saya tidak tahu

Jadi saya pasti akan menunjukkan kesalahan tata bahasa atau ejaan dalam kode orang lain, tetapi hanya jika saya benar-benar yakin apakah itu benar apa yang saya katakan.


6

Saya kira nilainya menyebutkan di sini bahwa header pengarah HTTP dalam protokol HTTP salah eja sebagai "pengarah" (dan kita harus hidup dengannya / kita telah belajar untuk hidup dengannya)) :)


10
Dan kami tidak pernah ingin melihat hal seperti itu lagi.
David Thornley

4

Saya setuju dengan jawaban lain yang mengatakan bahwa kode dengan kesalahan tata bahasa tidak dapat dipertahankan.

Saya juga ingin menambahkan beberapa hal:

  • Kode sering ditulis oleh orang yang tidak berbicara bahasa Inggris dengan baik dan / atau bahasa Inggris bukan bahasa ibu mereka. Jika ada kesalahan tata bahasa dalam kode yang Anda tinjau, ini tidak berarti rekan kerja Anda membuat kesalahan ini. Mungkin itu hanya copy-paste dari sebuah situs web.
  • Jika bahasa Inggris bukan bahasa asli rekan kerja Anda, mungkin ide yang baik, atau sangat buruk untuk memberitahunya tentang kesalahan ini. Berasal dari Prancis, saya selalu menyambut komentar tentang kesalahan yang saya buat dalam bahasa Inggris, karena itu satu-satunya cara saya dapat menghindari mereka di masa depan; di sisi lain, saya kenal beberapa orang yang merasa sangat terluka jika Anda memberi tahu mereka tentang kesalahan tata bahasa yang mereka buat.
  • Seperti yang dikatakan John R. Strohm, jangan pernah melakukannya secara terbuka. Sebagian besar orang akan sangat terganggu dengan ini.

11
"Mungkin itu hanya salin-tempel dari situs web." Maka orang yang menyalinnya seharusnya mengetahui masalahnya dan memperbaikinya. Menyalinnya secara kata demi kata dan meninggalkan kesalahan sama buruknya atau lebih buruk daripada menulisnya sendiri dan menciptakan kesalahan. "Aku kenal beberapa orang yang merasa sangat terluka jika kamu memberi tahu mereka tentang kesalahan tata bahasa yang mereka buat." Dalam bisnis, kita semua harus berperilaku sebagai orang dewasa dan rekan kerja yang bekerja sama untuk mencapai tujuan bersama. Orang yang mengemukakan masalah perlu menggunakan kebijaksanaan, dan orang yang menerima kritik harus menerimanya dan tumbuh darinya.
the Tin Man

3
Saya setuju 100% bahwa sebagai profesional, kita harus berperilaku sebagai orang dewasa, dan tidak menganggapnya pribadi. Tapi itu benar-benar perlu ditunjukkan dan diperbaiki. Ya, kebijaksanaan harus digunakan, dan itu harus didekati sesuai kebutuhan, tergantung pada individu. Tetapi jika Anda berada di lingkungan di mana ia didorong untuk menghindari masalah itu sama sekali, mungkin sekarang saatnya untuk pergi. Ini akan menunjukkan lingkungan yang beracun.
Mark Freedman

Setiap kesalahan ejaan dapat diperiksa dengan pencarian google sederhana
JoelFan

2

Saya akan merekomendasikan menggunakan IDE dengan pemeriksa ejaan bawaan. IntelliJ Idea melakukan pekerjaan yang bagus untuk program Java. Ada banyak kesalahan ketik memalukan yang ditangkapnya, tidak hanya dalam nama fungsi, tetapi misalnya pesan pengecualian yang dapat dilihat pengguna. Program yang menghasilkan pesan yang penuh kesalahan ketik tidak menginspirasi banyak kepercayaan diri.


0

Saya melakukannya hanya jika

  • itu mempengaruhi penggunaan program
  • itu mempengaruhi keakuratan program
  • Secara eksplisit saya tahu penulis ingin dikoreksi.

Sama seperti catatan tambahan, jika nama fungsi Anda cukup panjang untuk memiliki tata bahasa, mereka mungkin terlalu panjang. Pada contoh yang diberikan, saya akan memanggil fungsi userHasPermission dan memindahkan "tata bahasa" ke dalam kode Anda, sesuatu seperti ini:

if userHasPermission() ...

1
Masih ada potensi yang sama untuk kesalahan tata bahasa, karena dalam kasus ini userHavePermission()akan salah.
Dean Harding

Tapi itulah intinya !! userHasPermission()menyiratkan bahwa ia mengembalikan bool karena tata bahasa ~ ATAU ~ itu bisa berarti bahwa ia menetapkan izin pengguna. (Petugas memiliki jembatan :: pengguna memiliki izin). Masih kabur.
Stephen Furlani

Sementara saya setuju bahwa nama-nama contoh dalam Q tidak perlu panjang, saya mengingatkan tentang generalisasi "terlalu lama". Dalam hal ini, konsepnya dapat diekspresikan dengan kata-kata yang lebih sedikit, sehingga harus lebih pendek. Namun, apa yang "terlalu panjang"? Apakah ada batasan karakter atau kata?
LS

0

Ini juga terjadi BANYAK dalam proyek saya (dihuni oleh orang-orang asli berbahasa Ibrani, Rusia atau Arab), tetapi bahkan ke tingkat yang lebih tinggi - sering saya melihat kode yang menggunakan beberapa terminologi yang tidak jelas yang kebetulan menjadi apa yang dihasilkan kamus sebagai terjemahan untuk apa yang ada dalam pikiran penulis, dan itu tidak ada hubungannya dengan yang mereka maksudkan ...

Secara pribadi, ketika itu terjadi begitu sering dan oleh begitu banyak anggota tim yang bisa menulis kode bahkan sebelum saya bergabung dengan proyek, saya cenderung mengabaikannya, karena itu tidak masalah.

Namun, jika saya melakukan beberapa pekerjaan dalam file yang sama dengan kode atau komentar yang telah ditulis sejak lama dan mereka memiliki kesalahan ketik, saya akan memperbaikinya hanya karena tidak terlalu banyak pekerjaan.


0

Aturan Emas Berlaku

Lakukan kepada orang lain seperti yang Anda inginkan mereka lakukan kepada Anda.

Saya ingin orang lain mendukung hal ini, jadi saya membantu orang lain. Bersikap ramah dan suportif dapat membantu Anda.


2
-1 untuk ketidakjelasan - Saya tidak tahu apa yang Anda sarankan untuk dilakukan penanya.
HedgeMage

@HedgeMage, saya menasihati OP untuk menerapkan en.wikipedia.org/wiki/The_Golden_Rule
kevpie

2
Saya akrab dengannya. Selain menjadi konyol (tidak ada alasan untuk percaya bahwa cara Alice ingin diperlakukan adalah cara Bob ingin diperlakukan), itu mengalihkan perhatian dari masalah sebenarnya: membuat kode yang baik. Tentu, saya tidak akan menjadi brengsek tentang hal itu, tapi saya tidak mendasarkan apakah akan mengangkat masalah teknis atau tidak pada apakah orang yang menulis kode buruk ingin itu dibesarkan!
HedgeMage

Saya pikir keluhan @ HedgeMage dapat diilustrasikan seperti ini: Saya ingin kode menjadi kualitas tertinggi yang diizinkan oleh waktu dan sumber daya yang tersedia, karena saya peduli dengan proyek dan pekerjaan saya di masa depan. Bob ingin menghindari kritik karena kesalahan yang bisa diperbaiki, karena ia tidak menerima kritik dengan baik. Kami akan menerapkan "aturan emas" dengan sangat berbeda.
kelopak mata

Saran itu berarti OP mengoperasikan bagaimana ia ingin diperlakukan. Bukan untuk memperlakukan Bob bagaimana Bob ingin diperlakukan. Saya mendorong OP untuk mengoreksi Bob karena dia (OP) ingin dikoreksi untuk kesalahan yang sama, khususnya dalam konteks yang telah dibagikan OP.
kevpie

0

Seperti banyak praktik pemrograman lain yang baik, satu-satunya cara obyektif, non-politik, dan efektif untuk menerapkan kebijakan tentang ejaan dalam program adalah mengotomatiskannya sebagai bagian dari proses pra-komitmen. Otomasi akan menyelamatkan Anda dari sejumlah besar keluhan bahkan jika Anda harus menulis alat sendiri untuk tujuan itu.


3
Banyak kesalahan terpenting tidak dapat ditangkap secara otomatis. Ini berlaku untuk ejaan dan tata bahasa juga. Anda dapat melakukan pemeriksaan otomatis, tetapi hasilnya harus setara dengan peringatan. Ini karena pemeriksa ejaan menghasilkan positif palsu (mis. Nomina yang tepat) dan negatif palsu (dua, juga, untuk). Jadi intervensi manual diperlukan.
Matthew Flaschen

Otomatisasi semacam itu tidak menyelesaikan masalah ini, itu hanya menangkap beberapa kesalahan yang dilakukan orang.
overstood

Koreksi Otomatis ??? Ada banyak contoh koreksi otomatis "gagal" di internet. Itu pasti tidak baik.
Florian F

0

Ini adalah kesalahan kecil dalam kode, tetapi merupakan kesalahan. Perlakukan itu seperti kesalahan lain yang Anda temukan. Kebijakan saya adalah selalu berasumsi bahwa rekan kerja saya kompeten dan memperlakukan mereka seperti itu sampai mereka membuktikan sebaliknya.

Jika itu adalah satu kesalahan, saya mungkin memperbaikinya dan memeriksanya. Jika itu adalah pola, saya mungkin akan mulai meminta rekan kerja itu untuk meninjau perbaikan tersebut. Biarkan mereka tahu bahwa Anda pikir mereka adalah pembuat kode yang baik, tetapi ini adalah sesuatu yang baik untuk ditingkatkan. Saya tidak berpikir saya akan pernah membuat masalah besar tentang hal seperti ini.

Selama Anda tidak memperlakukannya seperti itu adalah masalah besar, akan mudah untuk menempatkan rekan kerja itu dalam posisi di mana mereka dapat meningkat tanpa menempatkan ego di garis depan.


-1

userPermission () mungkin? -

Terakhir yang saya temui adalah masalah global hasil pencarian yang tidak disorot karena nama kelas dieja hightlight. Bug yang sangat tidak terlihat.


Menunduk tanpa berkomentar adalah kekejian.
mplungjan

-1

Tentu tunjukkan, tetapi jangan buang waktu Anda memeriksa kesalahan pengejaan. Gunakan alat untuk mengotomatisasi ini pada CI Anda. Di .net fxCop dapat melakukan ini ...


-2

Itu sangat tergantung pada apa kesalahan itu, seberapa umum dan seberapa buruk mereka, dan apakah itu sebenarnya kesalahan yang bonafid atau tidak hanya bagaimana Anda akan mengatakannya.

Saya pribadi tidak tahan ketika beberapa orang idiot menyeret kode review 5 menit hingga setengah jam karena dia ingin semuanya diganti namanya menjadi bagaimana dia akan melakukannya dan semua komentar ditulis ulang hanya karena dia suka memasukkan dayungnya. yang mengatakan "Memuat objek data" tidak perlu diubah menjadi "Komponen pemuat objek data sekarang akan memuat objek data yang relevan dari komponen penyimpanan objek data".

/ kata-kata kasar :)


2
Bersikeras pada hal-hal dengan cara saya adalah satu hal. Bersikeras bahwa segala sesuatu menggunakan ejaan dan tata bahasa yang benar adalah hal yang sama sekali berbeda.
David Thornley

Tidak sepenuhnya yakin mengapa jawaban saya pantas diturunkan tetapi tidak pernah ... Juga, ke mana jawaban saya atas komentar David? Bagaimanapun, 100% tata bahasa Inggris yang benar tidak selalu diinginkan dalam pengembangan. Dalam contoh saya di atas, "Memuat objek data" bukanlah kalimat yang lengkap, tetapi ini adalah kalimat yang lebih disukai dari keduanya - ringkas, mudah dilokalisasi dan tidak memakan banyak ruang.
JohnL
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.