Saat menggunakan berbagai program di terminal, kadang kita salah mengetik perintah dan program menampilkan error. Namun, beberapa program seperti Git atau npm terkadang merekomendasikan perintah yang mirip dengan perintah yang salah kita ketik, atau bahkan memperbaiki typo tersebut dan tetap melanjutkan dengan tepat. Lalu, sebenarnya bagaimana fitur seperti ini bekerja? Dengan mencoba mengimplementasikan fitur rekomendasi perintah serupa, kita bisa memahami prinsip di baliknya.
- Mendefinisikan masalah
→ Masalah menemukan perintah yang mirip dapat diubah menjadi "masalah memeriksa kemiripan dua string".
- Jarak edit (Edit distance)
→ Jarak Levenshtein (Levenshtein distance)
- Menyelesaikan masalah
5 komentar
Sulit untuk tidak menyebut repo ini.
https://github.com/nvbn/thefuck#how-it-works
Saya tertawa cukup lama melihat contoh di paling atas haha
Ternyata bukan cuma saya yang sering salah..
Ceritanya menarik. Jarak Levenshtein... saya jadi belajar hal baru.
Saya membacanya dengan sangat menarik.
Namun, saya penasaran apakah git benar-benar diimplementasikan dengan cara ini.
Secara statistik, sepertinya juga dimungkinkan untuk mengumpulkan pengalaman pengguna lalu memprosesnya
git menggunakan jarak Levenshtein. Jika Anda melihat entri git di tautan di bawah, akan terlihat kode sumber untuk bagian tersebut di git. :)
https://vishnubharathi.codes/blog/levenshtein-distance/
Pendekatan yang secara statistik memanfaatkan pengalaman pengguna juga tampak menarik, tetapi a) panjang perintah git pendek, dan b) jumlahnya terbatas, jadi tampaknya Levenshtein sudah cukup untuk melakukan apa yang diinginkan.