Wielkość liter w programowaniu – dlaczego true ≠ True?

Wielkość liter w programowaniu – dlaczego true ≠ True?

Wprowadzenie: Jeden znak, który rujnuje kod

Spędziłeś godzinę na pisaniu kodu. Wszystko wydaje się poprawne. Naciskasz F5 i… błąd kompilacji.

Error: 'True' is not defined. Did you mean 'true'?

Jeden znak. Wielka litera zamiast małej. I Twój kod nie działa.

Jeśli dopiero zaczynasz programować, wrażliwość na wielkość liter (ang. case sensitivity) może być frustrująca. Ale zrozumienie tego mechanizmu to fundament, który odróżnia początkującego od świadomego programisty.

W tym artykule wyjaśnię:

  • Dlaczego języki programowania są wrażliwe na wielkość liter
  • Jak różne języki traktują kapitalizację
  • Jakie konwencje obowiązują w C#, Python, JavaScript i innych językach
  • Jak unikać najczęstszych błędów związanych z wielkością liter

Czym jest case sensitivity w programowaniu?

Case sensitivity (wrażliwość na wielkość liter) oznacza, że kompilator lub interpreter traktuje true i True jako dwa różne symbole.

Przykład w C#

// ✅ Poprawnie
bool isActive = true;
// ❌ Błąd kompilacji
bool isActive = True; // Error CS0103: The name 'True' does not exist

W C# słowo kluczowe true musi być pisane małymi literami. Wielkie True nie istnieje w składni języka.

Dlaczego to takie ważne?

Kompilator nie zgaduje Twoich intencji. Nie mówi: “Okej, wiem co miałeś na myśli”.

Kompilator egzekwuje składnię. Jeśli naruszysz zasady, kod się nie skompiluje.

To nie jest jak pisanie e-maila, gdzie błędy ortograficzne są tolerowane. W programowaniu precyzja ma znaczenie.

Czy wszystkie języki są wrażliwe na wielkość liter?

Współczesne języki: TAK

Prawie wszystkie popularne języki programowania są case-sensitive:

JęzykPrzykład słowa kluczowegoCase sensitive?
C#true, false✅ TAK
Javatrue, false✅ TAK
PythonTrue, False✅ TAK
JavaScripttrue, false✅ TAK
Swifttrue, false✅ TAK
C++true, false✅ TAK
TypeScripttrue, false✅ TAK

Wyjątki: starsze języki

Niektóre starsze lub niszowe języki nie rozróżniają wielkości liter:

  • BASIC (starsze wersje)
  • Pascal (w niektórych implementacjach)
  • SQL (częściowo – zależy od dialektu i ustawień bazy danych)

Ale to wyjątek, nie reguła.

Jeśli zaczynasz programować w 2025 roku, zakładaj, że każdy język jest wrażliwy na wielkość liter. W 99% przypadków będziesz mieć rację.

Konwencje nazewnictwa w różnych językach

C# – Microsoft Naming Conventions

W C# obowiązują ścisłe konwencje nazewnictwa:

// ✅ Typy i klasy: PascalCase
public class UserService { }

// ✅ Metody publiczne: PascalCase
public void SendEmail() { }

// ✅ Zmienne lokalne i parametry: camelCase
string firstName = "Jan";
int userAge = 30;

// ✅ Prywatne pola: _camelCase (z podkreśleniem)
private string _connectionString;

Dlaczego to ma znaczenie?

Bo kiedy widzisz UserService, od razu wiesz, że to klasa.

Kiedy widzisz firstName, wiesz, że to zmienna lokalna.

Konwencje pomagają czytać kod bez wnikania w szczegóły.

Najczęstsze błędy związane z wielkością liter

❌ Błąd #1: Wielkie True w C#

// Programista przychodzi z Pythona
bool isValid = True; // ❌ Error CS0103

// Rozwiązanie:
bool isValid = true; // ✅ Poprawnie

❌ Błąd #2: Małe true w Pythonie

# Programista przychodzi z C#
is_valid = true  # ❌ NameError: name 'true' is not defined

Rozwiązanie:
is_valid = True  # ✅ Poprawnie

Checklist: Jak unikać błędów związanych z wielkością liter

  • Zawsze używaj IntelliSense/autocomplete w IDE
  • Trzymaj się konwencji języka, w którym pracujesz
  • Nie mieszaj PascalCase z camelCase przypadkowo
  • Używaj lintera/code analyzera (np. Roslyn w C#)
  • Czytaj kod innych – wzorce się utrwalą
  • Sprawdzaj dokumentację, jeśli masz wątpliwości
  • Unikaj nazywania zmiennych tak samo, ale z inną kapitalizacją
  • Testuj kod na docelowym systemie (Windows ≠ Linux)

Podsumowanie: Konsekwencja to klucz

Programowanie jest wrażliwe na wielkość liter. To nie wytyczne – to reguły.
Różne języki mają różne konwencje, ale w obrębie jednego języka panuje pełna konsekwencja.
Nie musisz od razu znać wszystkich “dlaczego”. Zacznij od obserwacji. Pisz to, co widzisz. Trzymaj się wzorców.
I bądź konsekwentny. Bo to właśnie odróżnia działający kod od tego, który nie przejdzie kompilacji.

Zobacz także — powiązane artykuły

👉 Tworzenie klas i obiektów w C# — kompletny przewodnik

👉LINQ w C# — przetwarzanie kolekcji bez pętli – zobacz w kursie LINQ w C# -czytelny kod, wydajne zapytania

👉 Typy wartościowe vs referencyjne w C# — jak działa pamięć – zobacz w kursie C# Podstawy Programowania: Twój Pierwszy Krok w Świat Kodowania

Dołącz do Listy VIP

I otrzymaj roadmapę Junior .NET Developer oraz najlepszą ofertę, gdy tylko ruszą zapisy!!!

Kontakt: mariuszjurczenko@dev-hobby.pl
Zero spamu. Możesz wypisać się w każdej chwili.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *