Preskoči na vsebino
TextArray

camelCase, snake_case, kebab-case: vodnik po poimenovanju za razvijalce

Blog /

Ko poimenujete spremenljivke, funkcije, razrede ali URL-je, je oblika, ki jo izberete, pomembna. Različni jeziki in konteksti imajo različne konvencije: JavaScript uporablja camelCase, Python raje snake_case, lastnosti CSS uporabljajo kebab-case, konfiguracijske konstante pa CONSTANT_CASE. Razumevanje vsakega od njih in poznavanje pretvorbe med njimi je praktična veščina, ki ohranja vašo kodo dosledno in berljivo.

camelCase: standard JavaScript

camelCase se začne z malo začetnico in z veliko začetnico vsake naslednje besede, brez ločil. Imena spremenljivk in funkcij v JavaScriptu sledijo temu vzorcu: getUserById, calculateTotalPrice, handleSubmitClick. Večina ključev JSON je tudi po dogovoru v obliki camelCase.

Ime izhaja iz "grbic", ki jih ustvarjajo velike črke. Je kompakten, berljiv in dejanski standard v JavaScriptu, TypeScriptu, Javi in C#. Ko morate besedilo pretvoriti v camelCase – ne glede na to, ali gradite generator kode ali standardizirate imena spremenljivk – pretvornik velikih in malih črk obravnava v eni pasti.

snake_case: Python in baze podatkov

snake_case združuje besede s podčrtaji in ohranja vse male črke: get_user_by_id, calculate_total_price, handle_submit_click. Razvijalci Pythona to uporabljajo za imena spremenljivk in funkcij v skladu s slogovnimi smernicami PEP 8. Imena stolpcev in tabel SQL prav tako pogosto uporabljajo snake_case, kot tudi spremenljivke okolja v večini sistemov.

snake_case je berljiv tudi z velikimi črkami (DATABASE_PASSWORD, MAX_RETRY_COUNT), zato je CONSTANT_CASE—uppercase snake_case—univerzalna konvencija za konfiguracijske konstante in končne spremenljivke v vseh jezikih.

kebab-case: URL-ji in CSS

kebab-case združuje besede z vezaji in uporablja vse male črke: get-user-by-id, calculate-total-price. Vidite ga povsod v URL-jih – članek slugs, strani izdelkov, imena poti –, ker so vezaji prijazni do iskalnikov in je manj verjetno, da bi jih razčlenjevalci napačno interpretirali kot podčrtaji. Imena razredov CSS in atributi HTML po meri po dogovoru uporabljajo tudi kebab-case.

Izdelava URL-varnih identifikatorjev ali imen, podobnih slug, iz navadnega besedila je ena najbolj praktičnih uporab. The generator slug pretvori besedne zveze v nize kebab-case, ki so pripravljeni za URL, pri čemer odstrani ločila in naglase.

PascalCase: razredi in tipi

PascalCase (ali UpperCamelCase) piše prvo črko z veliko začetnico: GetUserById, CalculateTotalPrice. To je dogovor za imena razredov, definicije tipov in komponente v TypeScript, C#, Javi in React. Ko delate z objektno usmerjenimi jeziki ali ogrodji komponent, boste to dosegli.

Pretvarjanje med formati

Pretvorba iz ene konvencije v drugo zahteva dva koraka: prvi razdeliti identifikator v ločene besede, nato ponovno se pridruži jih s separatorjem ciljev in ohišjem. Tam orodja poenostavijo postopek.

Če imate identifikator camelCase in morate razumeti njegove dele – morda ga preimenovati ali ujemati z različico snake_case – split camelCase orodje ga razbije: getUserById postane get User By Id. Ko so besede ločene, se pretvornik velikih in malih črk jih lahko preoblikujete v katero koli konvencijo, ki jo potrebujete. Razvijalci ta orodja uporabljajo tudi pri preoblikovanju kode prek jezikovnih meja ali pri prevajanju med specifikacijami API in imeni notranjih spremenljivk.

Kdaj uporabiti posamezno konvencijo

Prava izbira je odvisna od konteksta, ne od preferenc. JavaScript in JSON uporabljata camelCase. Python, SQL in spremenljivke okolja uporabljajo snake_case. URL-ji in CSS uporabljajo kebab-case. Imena vrst in razredov uporabljajo PascalCase. Konfiguracijske konstante uporabljajo CONSTANT_CASE v vseh jezikih. Če upoštevate te konvencije, bo vaša koda takoj prepoznavna vsem, ki poznajo ta ekosistem.

Doslednost je pomembnejša od posebne konvencije – če mešate formate v isti datoteki ali projektu, morajo bralci preklapljati med kontekstom in napake postanejo lažje. Orodja za pretvorbo in razdelitev identifikatorjev vam pomagajo ostati dosledni, ko delate v več jezikih ali selite kodo med projekti.