1 Punkte von GN⁺ 2024-06-29 | 1 Kommentare | Auf WhatsApp teilen
  • Was hat sie so gut gemacht?
    • Gab es jemanden, der gute Praktiken durchgesetzt hat?
    • Waren Sie Teil einer großartigen Gruppe von Engineers?
    • Oder etwas anderes?

Meinungen von GN⁺

  • Dieser Artikel wirft eine interessante Frage dazu auf, wie gute Praktiken in Softwareentwicklungsumgebungen aufrechterhalten werden
  • Er kann dabei helfen, den Unterschied zwischen der Durchsetzung guter Praktiken und einer autonomen Umgebung zu verstehen
  • Andere Projekte mit ähnlicher Funktionalität sind etwa Googles Code-Review-System oder GitHubs Pull-Request-System
  • Bei der Einführung neuer Technologien oder von Open Source sollte berücksichtigt werden, wie sie in die Teamkultur und bestehende Prozesse integriert werden können
  • Die Aufrechterhaltung guter Praktiken ist ein wichtiger Faktor, um die Produktivität des Teams und die Codequalität zu steigern

1 Kommentare

 
GN⁺ 2024-06-29
Hacker-News-Kommentare
  • Googles Monorepo war in Bezug auf die Tooling-Seite außergewöhnlich gut

    • Snapshots der gesamten Codebasis konnten in wenigen Sekunden erstellt werden
    • Builds waren perfekt reproduzierbar und wurden auf einem Build-Cluster ausgeführt
    • Die Sprache für die Build-Konfiguration war sehr einfach und prägnant
    • Codesuche war sofort möglich
    • Die Dateihistorie lud sofort
    • Line-by-line-Blame lud in wenigen Sekunden
    • Symbolsuche war in fast jeder Datei sofort möglich
    • Ein konsistenter Stil wurde durch gemeinsame Kultur, automatische Linter und Presubmits erzwungen
    • Es gab Shortcuts zum Deeplinken auf Datei/Version/Zeile, was das Teilen von Code einfach machte
    • Viele Presubmit-Checks stellten Code- und Testqualität sicher
    • Code-Review und die Kopplung von Tests an Codeänderungen waren verpflichtend
  • Der Server-Code von AOL war außergewöhnlich gut

    • Geschrieben von Leuten mit tiefem Verständnis von Unix-Programmierung und dem Einsatz von Event Loops
    • In C geschrieben, und man erwartete, dass er monatelang ohne Absturz läuft
    • Bei einem Absturz wurde dem Eigentümer der Core-Backtrace per E-Mail geschickt
    • Bei Speicherlecks reagierte das Betriebsteam sofort
    • Alles konnte auf laufenden Servern ohne Neustart neu geladen werden
    • Die Server wurden über einen TCP-Control-Port und einen TCL-Interpreter verwaltet
    • Mit einem "No Threads Kernel" auf Dutzende bis Hunderte physische Maschinen skaliert
    • 200 Unix-Entwickler teilten ein gemeinsames Verständnis
    • Technische Redakteure interviewten Entwickler und schrieben Bücher, die sie an externe Entwickler weitergeben konnten
    • Es galt das Prinzip, Netzwerk-Nachrichten zu senden und zu empfangen, ohne auf die Festplatte zu schreiben
  • Die Codebasis bei einem früheren Arbeitgeber war außergewöhnlich gut

    • Die Engineers waren technisch stark und ohne Ego
    • Das Team bestand aus 4 Seniors und 3 Principal Engineers
    • Neue Anforderungen wurden jedes Mal auf zivilisierte Weise diskutiert
    • Auch Junior-Mitglieder konnten bestehendem Code leicht folgen
  • Die Postgres-Codebasis ist sehr gut organisiert

    • Man muss sich keine Sorgen um Memory Safety machen
    • Makros werden sorgfältig eingesetzt, mit Respekt für die Menschen
    • Die Postgres-Codebasis gilt als Goldstandard der Entwicklung
    • Ein Dankeschön an das pgrx-Team
  • Das Integrationstest-Framework für einen großen Python-Service war außergewöhnlich gut

    • Aufbauend auf einem bestehenden Integrationstest-Framework
    • Klare Bedeutung für Testkomponenten definiert
    • Testkomponenten als initiales Set aufgebaut
    • Durch Code-Review sichergestellt, dass neue Komponenten der Bedeutung folgen
    • Langfristig funktionierte es jedoch nicht gut
  • Die Google3-Codebasis ist enorm groß und funktioniert gut

    • Bei jeder Änderung wurden Abhängigkeiten erneut ausgeführt
    • Commits sind effiziente unveränderliche Snapshots
    • Deutlich besser als GitHub
  • Die von mir selbst geschriebene Codebasis war die beste

  • Die Cocotron-Codebasis war sehr beeindruckend

    • Ich suchte nach einer Möglichkeit, Mac-Cocoa-Apps auf Windows zu portieren
    • Eine einzige Person implementierte alle erforderlichen APIs
    • Erfolgreich für komplexe benutzerdefinierte GUI-Apps eingesetzt
    • Fokus ist wichtig
  • Die Codebasis von Facebook ermöglicht kontinuierliche Code-Upgrades

    • Viel Aufwand wurde in Sprachdesign und Tooling gesteckt
    • Bestehender Code wird kontinuierlich aktualisiert
    • Bei Codebasen anderer Unternehmen waren Wechsel nach größeren Rewrites schwierig
  • Die HTTP-API von CouchDB war komplett in einer Datei enthalten

    • Ein guter Ausgangspunkt, um Datenbanken und Webprogrammierung zu lernen
    • Wurde später vom Team refaktoriert
    • Es war interessant zu sehen, wie der Weg von Inspiration zu realer Nutzung verlief