Ungefähr 1987 nahm ich eine Stelle bei einer Firma an, die mich anstellte, weil ich einer von wenigen Leuten war, die wussten, wie man Offenbarung einsetzt. Offenbarung, wenn Sie noch nie davon gehört haben, war im Wesentlichen eine PC-basierte Implementierung des Pick-Betriebssystems - das, wenn Sie noch nie davon gehört haben, seinen Namen von seinem Erfinder, dem fabelhaften Namen Dick Pick, erhielt. Über das Pick-Betriebssystem kann viel gesagt werden, das meiste davon ist gut. Eine Reihe von Supermini-Anbietern (zumindest Prime und MIPS) verwendeten Pick oder ihre eigenen benutzerdefinierten Implementierungen davon.
Diese Firma war ein Prime-Shop und für ihre internen Systeme verwendeten sie Informationen. (Nein, das war wirklich der Name: Es war die Implementierung von Pick durch Prime.) Sie hatten einen Vertrag mit dem Staat über den Bau eines PC-basierten Systems und hatten ungefähr ein Jahr in ihr Offenbarungsprojekt investiert, bevor der Typ die ganze Arbeit erledigte. der auch ihr MIS-Direktor war, entschied, dass er nicht mehr beide Jobs machen konnte und stellte mich ein.
Auf jeden Fall hatte er eine Reihe von Codierungsstandards für ihre Prime-basierte Software festgelegt, von denen viele auf zwei Grundbedingungen beruhten: 1) die Verwendung von dummen Terminals mit 80 Spalten und 2) die Tatsache, dass Prime dies nicht tat. Ich hatte keinen visuellen Editor, er hatte seinen eigenen geschrieben. Aufgrund der magischen Portabilität von Pick-Code hatte er seinen Editor in Revelation heruntergebracht und das gesamte Projekt auf dem PC damit erstellt.
Revelation war natürlich PC-basiert, hatte einen perfekt guten Vollbild-Editor und hatte keine Einwände, als Sie an Spalte 80 vorbeikamen. In den ersten Monaten, in denen ich dort war, bestand er jedoch darauf, dass ich seinen Editor und seine Standards.
Der erste Standard war also, dass jede Codezeile kommentiert werden musste. Jede Linie. Keine Ausnahmen. Seine Begründung dafür war, dass selbst wenn Ihr Kommentar genau das sagte, was Sie gerade im Code geschrieben hatten, das Kommentieren bedeutete, dass Sie zumindest zweimal über die Zeile nachdachten. Außerdem hatte er, wie er fröhlich betonte, dem Editor einen Befehl hinzugefügt, der jede Codezeile so formatierte, dass Sie einen Zeilenende-Kommentar einfügen konnten.
Oh ja. Wenn Sie jede Codezeile kommentierten, gab es Kommentare am Zeilenende . Kurz gesagt, die ersten 64 Zeichen jeder Zeile waren für Code, dann gab es ein Semikolon, und dann hatten Sie 15 Zeichen, um zu beschreiben, was Ihre 64 Zeichen taten. Kurz gesagt, wir haben eine Assembler-Konvention verwendet, um unseren Pick / Basic-Code zu formatieren. Dies führte zu Dingen, die so aussahen:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(Eigentlich habe ich nach 20 Jahren endlich die Zeilenfortsetzungssyntax von R / Basic vergessen, so dass es vielleicht anders ausgesehen hat. Aber Sie haben die Idee.)
Wenn Sie mehrzeilige Kommentare einfügen mussten, lautete die Regel außerdem, dass Sie einen Blumenkasten verwenden:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
Ja, diese schließenden Sternchen in jeder Zeile waren erforderlich. Wenn Sie seinen Editor verwendet haben, war es schließlich nur ein einfacher Editorbefehl, um einen Blumenkasten einzufügen.
Ihn zum Nachgeben zu bringen und mich den eingebauten Editor von Revelation verwenden zu lassen, war ein ziemlicher Kampf. Zuerst bestand er darauf, einfach weil das die Regeln waren. Als ich beanstandete, dass a) ich den Revelation-Editor bereits kannte, b) er wesentlich funktionaler war als sein Editor, c) andere Revelation-Entwickler die gleiche Perspektive hätten, erwiderte er, dass ich es nicht tun würde, wenn ich nicht auf seinem Editor trainieren würde jemals in der Lage sein, an der Prime-Codebasis zu arbeiten, was, wie wir beide wussten, nicht passieren würde, solange die Hölle nicht gefroren war. Schließlich gab er nach.
Aber die Kodierungsstandards waren die letzten, die gingen. Insbesondere die Kommentare zu den Blumenkästen waren eine blöde Zeitverschwendung, und er kämpfte gegen mich und sagte, dass es ganz einfach wäre, sie mit dem richtigen Editor zu pflegen. (Das Ganze wurde ziemlich passiv-aggressiv.) Schließlich gab ich leise nach und von da an hatte der gesamte Code, den ich zu Code-Reviews brachte, seine wertvollen Kommentare zu Blumenkästen.
Eines Tages, einige Monate nach Beginn des Jobs, als ich mich als mehr als kompetent erwiesen hatte (insbesondere im Vergleich zu der bemerkenswerten Parade anderer Programmierer, die durch dieses Büro gingen, während ich dort arbeitete), sah er mir über die Schulter arbeitete, und er bemerkte, dass ich keine Kommentare zu Blumenkästen verwendete. Oh, sagte ich, ich habe einen Quellcode-Formatierer geschrieben, der meine Kommentare beim Ausdrucken in Ihren Stil umwandelt. Es ist einfacher, als sie im Editor zu verwalten. Er öffnete den Mund, dachte einen Moment nach, schloss ihn, ging weg und wir sprachen nie wieder über Codierungsstandards. Danach wurden unsere beiden Jobs einfacher.