MAISON CODE .
/ TypeScript · Code Quality · DX

Strikter Modus: Warum wir TypeScript erzwingen

JavaScript ist Chaos. TypeScript ist Ordnung. Wie wir Zod und TS verwenden, um in der Produktion zu verhindern, dass „undefiniert keine Funktion“ ist.

AB
Alex B.
Strikter Modus: Warum wir TypeScript erzwingen

E-Commerce ist eine kritische Infrastruktur. Ein Fehler hier sieht nicht nur schlecht aus; es kostet Geld. JavaScript ist mit seiner lockeren Typisierung eine Belastung. Sie übergeben eine Zeichenfolge, in der eine Zahl erwartet wird? Absturz. Sie versuchen, auf „.price“ für ein Produkt zuzugreifen, das null ist? Weißer Bildschirm.

Der TypeScript-Schutz

Wir arbeiten nach der Richtlinie „Nur strenger Modus“.

1. API-Vertragsvalidierung mit Zod

Wir vertrauen der API nicht. Sogar Shopify. Wenn wir Daten abrufen, analysieren wir sie mithilfe von Zod-Schemas.

„Typoskript import { z } from ‘zod’;

const ProductSchema = z.object({ id: z.string(), Titel: z.string(), priceRange: z.object({ minVariantPrice: z.object({ Betrag: z.string().transform(val => parseFloat(val)), // Zahl erzwingen Währungscode: z.string(), }) }) });

// Wenn die API Müll zurückgibt, wird dies sofort ausgelöst, um die Sicherheit der Benutzeroberfläche zu gewährleisten. const product = ProductSchema.parse(apiResponse); „


2. Genetische Komponenten

Unsere UI-Bibliothek ist vollständig typisiert. Sie können unsere Komponente „“ nicht verwenden, ohne einen gültigen „currencyCode“ zu übergeben. Die IDE (VS-Code) wird Sie anschreien, bevor Sie überhaupt versuchen, den Code auszuführen.

3. End-to-End-Typsicherheit

Mit Tools wie GraphQL Code Generator generieren wir TypeScript-Typen direkt aus unseren Abfragen. Wenn wir die GraphQL-Abfrage so ändern, dass sie „description“ statt „body“ abruft, wissen unsere React-Komponenten automatisch von der Änderung.

Fazit

TypeScript verlangsamt die erste Stunde der Entwicklung (Schreibtypen). Es beschleunigt die nächsten 100 Stunden (Refactoring, Debugging, Skalierung). In einem Team von 10 Ingenieuren ist es die einzige Möglichkeit, nachts zu schlafen.