TypeScript wygrał. Oto co nam to dało.

Nikt już nie dyskutuje o tym, czy używać TypeScripta. Nowe projekty frontendowe korzystają z niego domyślnie. Debata dobiegła końca. TypeScript wygrał.

Wygrana to najnudniejsza część. Prawdziwa wartość tkwi w tym, co typy wnoszą do Twojego workflow. To coś więcej niż tylko wyłapywanie literówek.

Sygnatura funkcji działa jak dokumentacja. Nigdy nie staje się nieaktualna. Jeśli kod ulegnie zmianie, kompilator natychmiast przerwie proces budowania.

Spójrz na funkcję, która planuje przypomnienie. Wiesz, czego ona wymaga i co zwraca, bez czytania choćby jednego komentarza. Widzisz dokładne opcje kanału komunikacji. Jeśli dodasz nowy kanał, kompilator wskaże Ci każde miejsce, w którym musisz zaktualizować kod. Komentarz po prostu by tam został i stał się błędny.

Refaktoryzacja staje się bezpieczna. W nietypowanym kodzie zmiana nazwy pola jest przerażająca. Szukasz ciągów znaków i liczysz na szczęście. W TypeScript zmieniasz typ. Kompilator podaje Ci listę wszystkiego, co przestało działać. Refaktoryzacja przestaje być ryzykowna. Staje się bezpiecznym zadaniem.

Typy pomagają również w korzystaniu z AI.

Gdy prosisz AI o edycję nietypowanego JavaScriptu, model zgaduje kształt obiektu. Gdy używasz TypeScripta, typ jest specyfikacją. AI dokładnie wie, co jest dozwolone. Błędy pojawiają się jako błędy kompilacji, a nie awarie na produkcji. Typy zmieniają wygenerowany kod w kod, który pasuje do całości.

Kiedyś mówiono, że typy spowalniają pracę. W workflow opartym na AI, typy przyspieszają ją. Działają jak barierki ochronne. Możesz z ufnością akceptować wygenerowany kod, zamiast sprawdzać każdą linię ręcznie.

Pisz lepsze typy, stosując te zasady:

  • Używaj unii zamiast wielu wartości boolean. Status taki jak "loading" | "error" | "ready" jest lepszy niż trzy oddzielne flagi.
  • Nadawaj nazwy typom domenowym. Użycie typu takiego jak Cents zamiast zwykłej liczby wyraźnie pokazuje Twoje intencje.
  • Unikaj any. Używaj unknown i zawężaj typy. Słowo kluczowe any niszczy Twoją siatkę bezpieczeństwa.
  • Pozwól działać wnioskowaniu typów. Nie anotuj wszystkiego. Anotuj granice systemu, a resztę pozwól płynąć naturalnie.

TypeScript przekształcił bazy kodu w jawne kontrakty. Kontrakty te umożliwiają bezstresową refaktoryzację i niezawodną pomoc AI.

Zaczęliśmy używać typów, aby eliminować błędy. Kontynuujemy ich używanie, ponieważ stanowią fundament dla wszystkiego innego.

Źródło: https://dev.to/parsajiravand/typescript-won-heres-what-that-actually-bought-us-53lo

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi