Kapitel 18. Systeme aufbauen und Philosophie aufbauen

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Wenn du Google-Ingenieure fragst, was sie am meisten an der Arbeit bei Google mögen (neben dem kostenlosen Essen und den coolen Produkten), wirst du vielleicht etwas Überraschendes hören: Die Ingenieure lieben das Build-System.1 Google hat im Laufe seines Bestehens einen enormen technischen Aufwand betrieben, um sein eigenes Build-System von Grund auf zu entwickeln, damit unsere Ingenieure schnell und zuverlässig Code erstellen können. Diese Bemühungen waren so erfolgreich, dass Blaze, die Hauptkomponente des Build-Systems, mehrmals von ehemaligen Google-Mitarbeitern, die das Unternehmen verlassen haben, neu implementiert wurde.2 Im Jahr 2015 stellte Google schließlich eine Implementierung von Blaze namens Bazel zur Verfügung.

Zweck eines Build-Systems

Im Grunde haben alle Build-Systeme einen einfachen Zweck: Sie wandeln den von Ingenieuren geschriebenen Quellcode in ausführbare Binärdateien um, die von Maschinen gelesen werden können. Ein gutes Build-System versucht in der Regel, zwei wichtige Eigenschaften zu optimieren :

Schnell
Ein Entwickler sollte in der Lage sein, einen einzigen Befehl einzugeben, um den Build auszuführen und die resultierende Binärdatei zurückzubekommen, oft schon nach wenigen Sekunden.
Richtig
Jedes Mal, wenn ...

Get Softwareentwicklung bei Google now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.