Preskočiť na obsah
TextArray

camelCase, snake_case, kebab-case: vývojársky sprievodca pomenovaním

Blog /

Keď pomenúvate premenné, funkcie, triedy alebo adresy URL, na zvolenom formáte záleží. Rôzne jazyky a kontexty majú rôzne konvencie: JavaScript používa camelCase, Python preferuje snake_case, CSS vlastnosti používajú kebab-case a konfiguračné konštanty používajú CONSTANT_CASE. Porozumieť každému z nich a vedieť, ako medzi nimi konvertovať, je praktická zručnosť, vďaka ktorej bude váš kód konzistentný a čitateľný.

camelCase: štandard JavaScript

camelCase začína malým písmenom a začína veľkým písmenom každého nasledujúceho slova bez oddeľovačov. Premenné a názvy funkcií v JavaScripte sa riadia týmto vzorom: getUserById, calculateTotalPrice, handleSubmitClick. Väčšina kľúčov JSON je tiež podľa konvencie camelCase.

Názov pochádza z „hrbov“, ktoré vytvárajú veľké písmená. Je kompaktný, čitateľný a de facto štandardom pre JavaScript, TypeScript, Java a C#. Keď potrebujete previesť text na camelCase - či už vytvárate generátor kódu alebo štandardizujete názvy premenných - puzdro prevodník zvládne to v jednej paste.

snake_case: Python a databázy

snake_case spája slová podčiarkovníkom a zachováva všetky písmená ako malé: get_user_by_id, calculate_total_price, handle_submit_click. Vývojári Pythonu to používajú pre názvy premenných a funkcií podľa pokynov pre štýl PEP 8. Názvy stĺpcov a tabuliek SQL tiež bežne používajú snake_case, rovnako ako premenné prostredia vo väčšine systémov.

snake_case je čitateľný aj vo forme veľkých písmen (DATABASE_PASSWORD, MAX_RETRY_COUNT), a preto je CONSTANT_CASE - veľké písmená hada - univerzálnou konvenciou pre konfiguračné konštanty a konečné premenné v každom jazyku.

kebab-case: URL a CSS

kebab-case spája slová spojovníkmi a používa všetky malé písmená: get-user-by-id, calculate-total-price. Vidíte to všade v URL - článok slugs, produktové stránky, názvy trás - pretože pomlčky sú priateľské k vyhľadávacím nástrojom a je menej pravdepodobné, že ich analyzátory nesprávne interpretujú ako podčiarkovníky. Názvy tried CSS a vlastné atribúty HTML tiež používajú štandardne kebab.

Vytváranie identifikátorov bezpečných pre adresy URL alebo názvov podobných slug z obyčajného textu je jedným z najpraktickejších použití. Generátor slug konvertuje frázy na reťazce kebabov pripravených na URL, pričom odstraňuje interpunkciu a diakritické znamienka.

PascalCase: triedy a typy

PascalCase (alebo UpperCamelCase) veľké prvé písmeno: GetUserById, CalculateTotalPrice. Je to konvencia pre názvy tried, definície typov a komponenty v TypeScript, C#, Java a React. Pri práci s objektovo orientovanými jazykmi alebo komponentovými frameworkami siahnete práve po tomto.

Konverzia medzi formátmi

Konverzia z jednej konvencie na inú vyžaduje dva kroky: prvý rozdeliť identifikátor na samostatné slová, potom znovu sa pripojiť s cieľovým separátorom a puzdrom. To je miesto, kde nástroje zefektívňujú proces.

Ak máte identifikátor camelCase a potrebujete pochopiť jeho časti - možno ho premenovať alebo zodpovedať verzii snake_case - split camelcase nástroj to rozbije: getUserById sa stáva get User By Id. Akonáhle sú slová oddelené, puzdro prevodník môžete ich preformátovať podľa akejkoľvek konvencie, ktorú potrebujete. Vývojári tiež používajú tieto nástroje pri refaktorovaní kódu cez jazykové hranice alebo pri preklade medzi špecifikáciami API a internými názvami premenných.

Kedy použiť jednotlivé dohovory

Správna voľba závisí od kontextu, nie od preferencií. JavaScript a JSON používajú camelCase. Python, SQL a premenné prostredia používajú snake_case. Webové adresy a CSS používajú kebab-case. Názvy typov a tried používajú PascalCase. Konfiguračné konštanty používajú CONSTANT_CASE vo všetkých jazykoch. Dodržiavaním týchto konvencií bude váš kód okamžite rozpoznateľný pre každého, kto pozná daný ekosystém.

Na konzistencii záleží viac ako na špecifickej konvencii - ak zmiešate formáty v rovnakom súbore alebo projekte, čitatelia musia prepínať kontext a chyby budú jednoduchšie. Nástroje na konverziu a rozdelenie identifikátorov vám pomôžu zostať konzistentné pri práci vo viacerých jazykoch alebo pri migrácii kódu medzi projektmi.