Bagaimana saya bisa mendeteksi kata yang salah eja dalam kode sumber?

1

Saya telah diberikan beberapa kode yang ditulis oleh pengembang yang tidak bisa mengeja untuk menyelamatkan hidupnya.

Misalnya, dalam OUTPUT program, ia mengeja kata 'lingkaran' sebagai "Sirkual" dan "sirkiual", dan kata 'mengikuti' sebagai 'follwing' (belum lagi semua kesalahan ketik dalam kode dan komentar ).

Saya ingin membersihkan beberapa kesalahan ketik dalam kode, tetapi karena beberapa ejaannya tidak konsisten, tidak akan mudah untuk menemukan semua varian salah eja kata.

Apakah ada alat pencarian fuzzy (seperti plugin untuk Notepad ++ atau vim) yang bisa saya gunakan untuk mencari substring yang serupa untuk 'melingkar'? Alat pemeriksa ejaan sederhana tidak akan berfungsi (itu kode - kata 'lingkaran' dapat muncul di bagian nama variabel).

Darthfett
sumber
IDE apa yang Anda gunakan saat ini?
Brad
@Brad Saya menggunakan Notepad ++ (editor), tetapi saya akrab dengan banyak lainnya (termasuk vim, gerhana, Visual Studio).
Darthfett
Berapa banyak informasi 'ekstra' dalam nama kata, mis. apakah kita berbicara nCircular atau lebih, mis. nCircularMotion?
snowdude
@ snowdude Jika 'Edaran' muncul di kata itu harus cocok dengan itu.
Darthfett

Jawaban:

1

Visual Studio (dan saya yakin orang lain mudah-mudahan NP ++ yang belum saya gunakan) memungkinkan Anda mencari / menemukan dan mengganti menggunakan Ekspresi Reguler. Anda bisa membuatnya cukup kabur.

Saya ingin menguji Regex saya di situs ini sebelum menggunakannya dalam kode. http://regexpal.com/

yaitu menggunakan circ(\S){0,4} mencari

  • "Sirkual"
  • "bundar"
  • "sekitar"

lalu gunakan "lingkaran" sebagai istilah pengganti Anda.

Brad
sumber
Notepad ++ jelas memiliki regex, jadi ini bisa berfungsi sebagai solusi tujuan umum. Namun, saya berharap dapat menghindari terlalu banyak berpikir tentang setiap kata (mis. Apa yang terjadi jika dia salah mengeja kata 'cricular': c[irua]{1,3}c[irual]{1,5} ).
Darthfett
ya ... terdengar seperti masalah yang sangat buruk untuk dimiliki! Regex dapat membantu dan secara umum membuatnya lebih mudah tetapi Anda benar, itu tidak akan menangkap kesalahan pengejaan terburuk. Ini adalah satu-satunya ide saya selain menghabiskan satu atau dua hari melalui proyek. Mungkin orang lain akan memiliki wawasan lebih.
Brad