Wszystkie artykuły

Case Converter: po co istnieją różne style nazewnictwa

Polski alfabet ma dziewięć liter z własnymi znakami diakrytycznymi — ą, ć, ę, ł, ń, ó, ś, ź, ż — z których każda ma odrębną wielką formę (Ą, Ć, Ę, Ł, Ń, Ó, Ś, Ź, Ż). W przeciwieństwie do tureckiego i/İ, zamiana wielkości liter dla polskich znaków działa w każdym języku programowania w pełni przewidywalnie — problemem nigdy nie jest samo mapowanie wielka/mała litera, tylko to, że w identyfikatorach kodu te znaki niemal zawsze się pomija.

Główne style

  • camelCase — pierwsze słowo małą literą, każde kolejne wielką, bez separatorów: userName. Standard dla zmiennych i funkcji w JavaScript, Java, C#.
  • PascalCase — to samo, ale też pierwsze słowo wielką literą: UserName. Używany dla klas i komponentów niemal wszędzie.
  • snake_case — słowa oddzielone podkreśleniami, wszystko małymi literami: user_name. Standard w Pythonie i dla nazw kolumn w bazach danych.
  • kebab-case — słowa oddzielone myślnikami: user-name. Standard dla adresów URL, klas CSS i atrybutów HTML, ponieważ podkreślenie jest mniej typowe w URL.

Dlaczego to nie tylko estetyka

Nazwa zmiennej ilość jest technicznie równie poprawna jak ilosc w każdym nowoczesnym języku programowania, ale niemal nikt jej tak nie zapisuje — konwencja pomijania polskich znaków w kodzie wzięła się z czasów, gdy kodowanie znaków (na przykład stare strony kodowe zamiast UTF-8) bywało niekompatybilne między systemami, a nie z jakiegoś technicznego ograniczenia współczesnych języków. Liczy się przede wszystkim spójność stylu dla linterów, autouzupełniania IDE i generatorów dokumentacji.

Do czego potrzebna jest konwersja

  • Mapowanie pola z API JSON (zwykle camelCase) na nazwę kolumny bazy danych (zwykle snake_case).
  • Zmiana nazw zmiennych przy portowaniu kodu z jednego języka do drugiego z inną konwencją.
  • Generowanie sluga kompatybilnego z URL lub klasy CSS z tekstu nagłówka, również polskiego.

Niejednoznaczność ze skrótami

Identyfikator taki jak userID czy XMLParser stawia konwerter przed wyborem: traktować skrót jako jedno „słowo” czy rozbić go na osobne litery. Różne narzędzia rozwiązują to inaczej — ten konwerter rozpoznaje ciąg wielkich liter jako osobne słowo (XMLParserXML + Parser), ale warto sprawdzić wynik ręcznie, jeśli nazwa trafi bezpośrednio do kodu produkcyjnego.

Wypróbuj narzędzie