Bahasa Melayu

Teks & alat harian · Kit Alat Teks

camelCase, snake_case, kebab-case dan PascalCase: di mana setiap satu digunakan

· Latar belakang

penukaran kes pengecam aliran kerja pembangun

Satu pengecam profil ditulis dalam unta, Pascal, sarung ular dan kebab
Ilustrasi vektor ToolAcre asal

Lawatan ke konvensyen penamaan — dari mana asalnya, bahasa dan ekosistem yang mana, dan mengapa nama fail, URL, lajur pangkalan data dan kekunci JSON masing-masing menarik ke arah yang berbeza.

Lima nama untuk satu perkara — userProfileId, user_profile_id, user-profile-id, UserProfileId dan USER_PROFILE_ID

Frasa "ID profil pengguna" boleh menjadi `userProfileId`, `UserProfileId`, `user_profile_id` atau `user-profile-id` tanpa mengubah perkataannya. Perbezaan yang boleh dilihat ialah tempat sempadan muncul dan sama ada perkataan pertama bermula dengan huruf besar. ToolAcre menjana empat bentuk tersebut terus daripada input yang sama, menjadikan perbezaan strukturnya mudah untuk dibandingkan.

Semua huruf besar `USER_PROFILE_ID` ialah satu lagi konvensyen projek yang berguna, tetapi ia bukan pilihan gabungan yang berasingan dalam sumber penukar kes. Kit alat mendedahkan transformasi sarung ular dan huruf besar secara bebas. Jika pangkalan kod menggunakan pemalar huruf besar, tukar kepada huruf besar ular dan kemudian huruf besar daripada menuntut menu kes melakukan kedua-dua langkah serentak.

Empat penukaran ditunjukkan oleh Text Toolkit, ditambah dengan bentuk pemalar huruf besar yang dipasang secara berasingan

`camelCase` bermula dengan perkataan huruf kecil dan menggunakan huruf besar pada permulaan setiap perkataan berikut. `PascalCase` menggunakan bentuk perkataan bercantum yang sama sambil menggunakan huruf besar pada perkataan pertama juga. Dalam ToolAcre, kedua-dua transformasi bermula dengan pembahagi perkataan yang sama, jadi tanda baca dan sempadan huruf sedia ada ditafsirkan sebelum output dipasang.

Banyak pasukan memberikan kedua-dua borang kepada jenis nama yang berbeza, tetapi repositori tidak menetapkan peraturan bahasa universal atau sejarah untuk perpecahan itu. Anggap panduan gaya tempatan, linter, rangka kerja API atau kod berdekatan sebagai pihak berkuasa. Penukar menukar bentuk ejaan; ia tidak menentukan sama ada nama mewakili kelas, fungsi, pembolehubah atau komponen.

camelCase dan PascalCase berbeza dengan huruf pertama; sejarah bahasa mereka adalah di luar bukti repositori

`snake_case` merendahkan setiap perkataan yang dikesan dan menggabungkan keputusan dengan garis bawah. Untuk `User Profile ID`, ToolAcre mengembalikan `user_profile_id`. Pemisah kekal kelihatan, yang boleh membantu apabila nama melalui sistem yang tidak mengekalkan huruf besar dengan pasti, tetapi manfaat praktikal itu bukanlah bukti bahawa setiap pangkalan data, bahasa atau perkhidmatan mengharapkan garis bawah.

Gunakan konvensyen yang telah ditetapkan di destinasi. Perkhidmatan Python mungkin mempunyai satu dasar, skema SQL yang lain, dan muatan bersiri sepertiga. ToolAcre tidak boleh memeriksa kontrak tersebut. Janjinya yang boleh dipercayai adalah lebih sempit: `toSnakeCase` mengesan perkataan, huruf kecil setiap satu dan menyisipkan `_` di antara mereka tanpa memutuskan sama ada destinasi membenarkan atau memilih hasil tersebut.

keluaran snake_case disokong secara langsung; jangkaan ekosistem dan SQL bergantung pada setiap projek

`kebab-case` menggunakan perkataan huruf kecil yang sama tetapi menggabungkannya dengan tanda sempang, menghasilkan `user-profile-id`. Bentuk itu jelas secara visual di tempat yang tanda sempang diterima sebagai data, seperti segmen laluan yang dikonfigurasikan atau nama fail yang ditakrifkan projek. Ia bukan pengecam JavaScript kerana penghurai boleh membaca tanda sempang sebagai pengendali dan bukannya sebahagian daripada satu nama.

Garis besar menyenaraikan kelas CSS, atribut HTML, bendera baris arahan dan URL slug, namun perpustakaan teks tidak mentakrifkan peraturan pengguna tersebut. Sahkan sintaks sasaran sebelum menukar. ToolAcre juga mempunyai fungsi `slugify` yang berasingan dengan lipatan aksen, pemilihan pemisah, pemangkasan dan pengendalian panjang pilihan, jadi penukaran kebab biasa tidak boleh ditunjukkan sebagai pengesahan URL-slug penuh.

keluaran kebab-case disokong secara langsung; penggunaan yang sah bergantung pada sintaks sekeliling

Sempadan adalah tempat konvensyen penamaan menjadi beroperasi dan bukannya kosmetik. Objek pelayar boleh menggunakan satu ejaan manakala API muatan atau lajur pangkalan data menggunakan yang lain. Jadikan pemetaan itu jelas pada satu penyesuai dan bukannya menyerakkan penukaran merentas paparan, pertanyaan dan logik perniagaan. Kelebihan yang boleh diramal memastikan setiap model dalaman konsisten dan menjadikan ketidakpadanan lebih mudah untuk dikesan.

Elakkan menukar nilai sewenang-wenangnya sahaja kerana ia kelihatan seperti pengecam. Perkataan splitter menganggap tanda baca sebagai sempadan dan mengecam peralihan yang dipilih antara huruf kecil, huruf besar dan digit. Itu berguna untuk nama, tetapi ia boleh mengubah kunci yang ejaannya ditetapkan secara luaran. Kekalkan kunci kontrak dengan tepat melainkan antara muka penerima mendokumenkan pemetaan di bawah kawalan anda.

Contoh yang berfungsi — menukar satu pengecam melalui semua konvensyen dan memutuskan yang mana milik dalam projek kecil

Pertimbangkan aplikasi kecil dengan frasa `user profile ID`. ToolAcre menghasilkan `userProfileId` untuk sarung unta, `UserProfileId` untuk sarung Pascal, `user_profile_id` untuk sarung ular dan `user-profile-id` untuk sarung kebab. Setiap output membawa tiga perkataan yang sama dikesan, manakala huruf besar dan pemisah yang disisipkan mengekod bentuk yang dipilih.

Projek praktikal mungkin menyimpan `userProfileId` dalam objek JavaScript, memetakannya secara eksplisit kepada `user_profile_id` pada sempadan kegigihan dan menyimpan `user-profile-id` untuk lokasi yang tatabahasanya menerima tanda sempang. Pilihan tepat adalah milik projek itu. Bahagian penting ialah mendokumentasikan setiap sempadan dan menguji pemetaan dan bukannya berulang kali meneka dari rupa.

Perkara ini tidak meliputi — notasi Hungary dan perbahasan tentang singkatan dalam pengecam

Perbandingan ini tidak menyelesaikan ejaan singkatan. Pelaksanaan menukar perkataan yang dikesan menjadi huruf kecil sebelum membinanya semula, jadi input yang mengandungi `HTTP` mungkin muncul sebagai `Http` dalam Pascal atau keluaran unta. Sama ada pasukan memilih `Http`, `HTTP`, `Id` atau `ID` ialah dasar penamaan yang memerlukan pengecualian eksplisit di luar transformasi umum ini.

Ia juga tidak meliputi sejarah notasi, standard bahasa atau setiap tatabahasa pengecam yang sah. Tuntutan tersebut memerlukan sumber di luar fail alat yang digunakan untuk artikel ini. ToolAcre menunjukkan transformasi teks yang menentukan dan mendokumenkan satu had utama: kompaun yang ditulis tanpa sebarang sempadan yang boleh dikesan tidak boleh selalu dibahagikan kepada perkataan yang dimaksudkan oleh seseorang.

Dasar singkatan dan sejarah tatatanda berada di luar bukti penukar

Tiada satu kes yang betul secara universal. Nama berguna apabila ia mengikut kontrak dan kekal dikenali oleh orang yang mengekalkan lapisan tersebut. Mulakan dengan konvensyen yang sudah ada, simpan satu borang di dalam sempadan, dan terjemah sahaja di mana antara muka lain memerlukannya. Konsistensi mengurangkan perbezaan sampingan tanpa berpura-pura setiap ekosistem berkongsi satu peraturan.

Apabila sempadan memerlukan bentuk lain, tampal pengecam ke dalam penukar kotak Alat Teks dan periksa empat output sebelum menggunakan satu. Operasi berjalan dalam pelayar dan manifes menyatakan bahawa teks tidak dihantar ke pelayan atau disimpan secara automatik. Gunakan hasilnya sebagai pemetaan yang disengajakan, kemudian biarkan ujian projek dan semakan gaya tempatan mengesahkan pilihan terakhir.