- 2007, 2000 Zeilen Code
(folklore.org)The Original Macintosh: 36 of 123 - 2000 Lines Of Code
-
Anfang 1982 konzentrierte sich das Lisa-Softwareteam auf die letzten Arbeiten, um die Software innerhalb der nächsten sechs Monate zu veröffentlichen.
-
Einige Manager hielten es für eine gute Idee, jede Woche die von den einzelnen Ingenieuren geschriebene Code-Menge zu verfolgen, und erstellten ein Formular, das jeden Freitag eingereicht werden musste. Dieses Formular enthielt ein Feld für die Anzahl der in dieser Woche geschriebenen Codezeilen.
-
Bill Atkinson, Autor von Quickdraw und wichtiger Designer der Benutzeroberfläche, hielt die Anzahl der Codezeilen für eine törichte Methode, die Produktivität in der Softwareentwicklung zu messen, da sie nur dazu ermutige, unordentlichen, aufgeblähten und fehlerhaften Code zu schreiben.
-
Atkinson hatte kürzlich daran gearbeitet, die Bereichsberechnungsmaschine von Quickdraw zu optimieren, und schrieb die Bereichs-Engine mit einem einfacheren und allgemeineren Algorithmus vollständig neu. Nach einigen Anpassungen wurden Bereichsoperationen dadurch fast sechsmal schneller.
-
Diese Neufassung sparte nebenbei etwa 2000 Zeilen Code ein.
-
In der Abschlussphase dieser Optimierungsarbeit musste er zum ersten Mal das Management-Formular ausfüllen. Als er beim Feld für die Anzahl der Codezeilen ankam, dachte er kurz nach und trug dann die Zahl -2000 ein.
-
Es ist nicht sicher, wie die Manager reagierten, aber einige Wochen später hörten sie auf, von Atkinson das Ausfüllen des Formulars zu verlangen, und er fügte sich dem gerne.
Meinung von GN⁺
- Dieser Artikel vermittelt eine wichtige Lektion: In der Softwareentwicklung steht die Menge an Code nicht für echte Produktivität. Die Leistung anhand der Anzahl der Codezeilen zu messen, ist nicht nur ineffizient, sondern kann mitunter sogar kontraproduktiv sein.
- Das Beispiel von Bill Atkinson unterstreicht die Bedeutung von Softwareoptimierung. Mit weniger Code schnellere Leistung zu erreichen, ist eines der Grundprinzipien des Software Engineering.
- Diese Geschichte hilft zu verstehen, warum moderne Entwicklungspraktiken wichtig sind, insbesondere Ansätze wie agile Methoden und Continuous Integration/Deployment (CI/CD). Diese Methoden legen mehr Wert auf Qualität, Wartbarkeit und User Experience als auf die Menge an Code.
- In der Branche werden verschiedene Tools und Metriken verwendet, um Codequalität zu messen und zu verbessern. Dazu gehören zum Beispiel statische Codeanalyse-Tools, Code-Review-Prozesse und die Nachverfolgung der Testabdeckung.
- Der Artikel erinnert Entwickler daran, wie wichtig es ist, sich auf Qualität statt auf Code-Menge zu konzentrieren, unnötige Komplexität zu vermeiden und die Performance zu optimieren.
1 Kommentare
Hacker-News-Kommentare
Konflikt zwischen Microsoft und IBM über die Anzahl der Codezeilen
Links zu früheren Diskussionen
Codezeilen als Produktionskennzahl zu verwenden, ist äußerst töricht
order bygelöst wurde, und die Frage aufgeworfen, wie sich der Einfluss einer einzelnen Zeile messen lassen soll. Außerdem wird die Erfahrung geteilt, dass schlechte Programmierer mehr Code schreiben, und ein Fall vorgestellt, in dem ein Microsoft-Entwickler 33.000 Zeichen IBM-Code auf 220 Zeichen umschrieb. Dadurch entstand die absurde Situation, dass Microsofts Arbeit als "negativ" bewertet wurde.Einfache Fragen haben manchmal die größte Wirkung
Geteilte Erfahrungen mit Code-Optimierung zu Beginn der Karriere
Mangel an klarer Richtung zu Beginn eines Projekts
Gedankenexperiment dazu, das Entfernen von Code als Kennzahl zu verwenden
Bill Atkinson und Atkinson Dither
Wahrnehmung der Anzahl von Codezeilen
Die Rolle als Angestellter