Bahasa Melayu

Teks & alat harian · Kit Alat Teks

Cara penukar huruf memisahkan camelCase dan akronim seperti parseHTTPResponse

· Bagaimana ia berfungsi

penukaran teks aliran kerja pembangun unicode

Pengecam parseHTTPResponse berpecah kepada parse, HTTP dan token Respons
Ilustrasi vektor ToolAcre asal

Menerangkan tiga peraturan sempadan penukar huruf besar yang baik digunakan — larian pemisah, peralihan bawah ke atas dan tepi akronim — dan sebab parseHTTPResponse2Json ialah ujian yang mendedahkan yang lemah.

parse_h_t_t_p_response dan kegagalan lain — mengapa menukar pengecam lebih sukar daripada menukar 'hello world'

Mengubah "hello world" menjadi hello_world adalah mudah; menukar parseHTTPResponse kepada parse_h_t_t_p_response ialah tanda bahawa algoritma menganggap setiap modal sebagai perkataan. Pembangun yang menamakan semula JavaScript pengecam untuk Python API memerlukan sebaliknya: kenal pasti token dahulu, kemudian gunakan konvensyen penyertaan destinasi. Langkah pertama yang sama harus mengeluarkan kuasa ular, kebab, unta dan Pascal, jika tidak, empat butang tidak bersetuju tentang tempat perkataan bermula.

Peraturan satu: larian pemisah — ruang, sempang, garis bawah dan tanda baca semuanya menandakan sempadan, walau bagaimanapun banyak berturut-turut

Larian ruang, sempang, garis bawah dan aksara bukan huruf/non-number lain sudah menandakan sempadan. Anggap larian sebagai satu pemisah: butang--utama hendaklah menjadi dua token, bukan token kosong antara tanda sempang. Penukar kes ToolAcre berpecah dengan ungkapan sedar Unikod untuk huruf dan nombor, jadi huruf biasa bukan ASCII tidak dibuang semata-mata kerana berada di luar A–Z. Normalisasi ruang kosong adalah mengenai konvensyen penamaan, bukan tentang menukar fail sumber asal secara automatik.

Peraturan dua: peralihan bawah ke atas — huruf kecil atau digit diikuti dengan huruf besar memulakan perkataan baharu

Corak untuk huruf kecil atau digit diikuti dengan huruf besar menyisipkan sempadan sebelum huruf besar. Itu menukar parseResponse kepada parse + Response dan membolehkan 2Json menjadi 2 + Json. Peraturan ini tidak dengan sendirinya memisahkan perkataan sebelumnya daripada digit terakhirnya: ToolAcre menganggap Response2 sebagai satu token sebelum membelah huruf besar J. Sama ada anda mahu Respons + 2 ialah keputusan panduan gaya, jadi periksa pengecam berangka dan bukannya menganggap setiap penukar membuat pilihan yang sama.

Peraturan tiga: tepi akronim — larian huruf besar diikuti dengan pasangan huruf besar kemudian huruf kecil menamatkan akronim sebelum huruf besar terakhir

Akronim memerlukan satu lagi pandangan ke hadapan. Dalam HTTPResponse, larian modal HTTP berakhir sebelum R kerana R diikuti oleh esponse huruf kecil. Peraturan yang sepadan dengan larian dan pasangan huruf besar huruf kecil memasukkan sempadan di sana: HTTP + Respons, bukan H + T + T + P + Response. Apabila nama berakhir dengan semua huruf besar, tiada akhiran huruf kecil untuk menandakan perkataan baharu dan akronim kekal bersama. Itulah perbezaan antara pengecam token dan memasukkan pemisah sebelum setiap modal.

Digit dan kes tepi — tempat '2Json' berpecah, dan mengapa tiada set peraturan memenuhi setiap panduan gaya

Konvensyen digit kekal tidak jelas: version2Parser, HTTP2Json dan IP6Address tidak semuanya membayangkan kumpulan perkataan yang sama. ToolAcre mengumpulkan digit dengan token sebelumnya sehingga modal berikutnya mencetuskan sempadan seterusnya. Begitu juga, surat dengan huruf besar sensitif setempat mungkin berkembang atau berkelakuan berbeza daripada ASCII: Turkish dotted/dotless i dan ß Jerman layak disemak secara manual. Alat ini membuat transformasi deterministik, bukan tuntutan untuk memahami penamaan semantik pembolehubah.

Contoh yang berfungsi — menjalankan parseHTTPResponse2Json dan kelas CSS yang disempang melalui ular, kebab, unta dan kotak Pascal

Jalankan parseHTTPResponse2Json melalui penukar kes sebenar. Ia menghasilkan parse_http_response2_json dalam kes ular, parse-http-response2-json dalam kes kebab, parseHttpResponse2Json dalam kes unta dan ParseHttpResponse2Json dalam kes Pascal. Untuk butang--utama, pemisah berturut-turut runtuh menjadi button_primary dan button-primary. Output ini mendedahkan kedua-dua peraturan akronim yang berjaya dan pilihan pengumpulan digit. Uji terhadap destinasi anda API sebelum menggunakan carian-dan-ganti merentas pangkalan kod.

Perkara ini tidak meliputi — sarung khusus setempat seperti Turkish dotted i, yang mempunyai siarannya sendiri

Mekanisme ini tidak melaksanakan lipatan kes setiap bahasa, membuat kesimpulan bahawa akronim bermaksud istilah domain tertentu, atau menamakan semula rujukan sepanjang program. Penukaran rentetan dan pengecam adalah berbeza daripada pemfaktoran semula kod sumber dengan kesedaran simbol. Alat ini tidak boleh menjanjikan bahawa perkhidmatan Python menerima medan JSON yang dinamakan semula; pemanggil mungkin masih bergantung pada ejaan lama. Jalankan ujian skema anda selepas menukar nama medan awam.

Bawa pulang — penukar kes Text Toolkit menggunakan tiga peraturan ini dan menunjukkan hasilnya serta-merta supaya anda boleh menyemaknya sebelum menampal ke dalam kod

Mula-mula kenal pasti token menggunakan pemisah, peralihan dan tepi akronim; barulah sertai dan kes mereka. Kit Alat Teks menjadikan peraturan tersebut kelihatan dengan output serta-merta dan membolehkan anda membuat asal penukaran. Untuk nama medan berat akronim, bandingkan hasil sebenar snake/kebab dan bukannya menggunakan ungkapan biasa huruf besar mudah secara membabi buta pada keseluruhan repositori.