У 1987 році або близько того я влаштувався на роботу в компанію, яка найняла мене, тому що я була однією з невеликих пригорщів людей, які вміли користуватися Об'явленням. Одкровення, якщо ви ніколи про нього не чули, по суті було ПК-реалізацією операційної системи Pick - яка, якщо ви ніколи про неї не чули, отримала свою назву від свого винахідника, казково названого Діка Піка. Багато що можна сказати про ОС Pick, більшість із них хороша. Кілька постачальників суперміні (як мінімум, Prime та MIPS) використовували Pick або власні власні реалізації цього.
Ця компанія була компанією Prime, і для своїх внутрішніх систем вони використовували Інформацію. (Ні, це справді було його ім'ям. Це було втілення прем'єром Піка.) У них був укладений договір з державою про створення системи на базі ПК, і вони вклали близько року у свій проект Одкровення, перш ніж хлопець виконав усі роботи, який також був їх директором MIS, вирішив, що більше не може робити обох робіт, і найняв мене.
У будь-якому випадку, він встановив ряд стандартів кодування для їх програмного забезпечення на базі Prime, багато з яких випливали з двох основних умов: 1) використання німих терміналів у 80 стовпцях та 2) того, що з часу Prime не зробив ' не маю візуального редактора, він написав своє. Через магічну портативність коду Pick він привів свого редактора в Revelation і створив весь проект на ПК, використовуючи його.
Одкровення, звичайно, на базі ПК, мав ідеально хороший редактор в повноекранному режимі, і не заперечував, коли ви проходили повз колонку 80. Однак перші кілька місяців я там наполягав на тому, щоб я використовував його редактор і його стандарти.
Отже, першим стандартом було те, що кожен рядок коду доводилося коментувати. Кожен рядок. Немає винятків. Його обґрунтуванням було те, що навіть якщо ваш коментар сказав саме те, що ви щойно написали в коді, коментуючи це, ви означали, що ви принаймні продумали рядок двічі. Крім того, як він бадьоро зазначив, він додав команду до редактора, яка відформатувала кожну рядок коду, щоб ви могли помістити коментар в кінці рядка.
О, так. Коли ви коментували кожен рядок коду, це було з коментарями в кінці рядка . Коротше кажучи, перші 64 символи кожного рядка були для коду, потім була крапка з комою, а потім у вас було 15 символів, щоб описати, що зробили ваші 64 символи. Коротше кажучи, ми використовували конвенційну мову монтажу, щоб відформатувати наш код Pick / Basic. Це призвело до того, що виглядало приблизно так:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(Насправді, через 20 років я нарешті забув синтаксис продовження рядків R / Basic, тому це, можливо, виглядало інакше. Але ви розумієте.)
Крім того, щоразу, коли вам доводилося вставляти багаторядкові коментарі, правилом було використання коробки для квітів:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
Так, ті зірочки, що закриваються на кожному рядку, були потрібні. Зрештою, якщо ви використовували його редактор, це була просто проста редакторська команда, щоб вставити квітковий ящик.
Змусити його розслабитися і дозволити мені використовувати вбудований редактор Одкровення був доволі боєм. Спочатку він був наполегливим, просто тому, що це були правила. Коли я заперечив, що а) я вже знав редактора Одкровення; б) він був значно більш функціональним, ніж його редактор; в) інші розробники Об'явлення мали б таку саму перспективу, він відповів, що якби я не тренувався на його редакторі, я не став би коли-небудь вдасться працювати над базовою кодовою базою, що, як ми обоє знали, не відбудеться до тих пір, поки пекло ще не застигне. Нарешті він поступився.
Але останніми були стандарти кодування. Зокрема, коментарі до квіткової коробки були дурною марною тратою часу, і він бив мене зубами та цвяхами, кажучи, що якби я просто скористався правильним редактором, їх підтримка була б абсолютно простою. (Вся справа вийшла досить пасивно-агресивною.) Нарешті я тихо поступився, і відтоді весь код, який я приніс до оглядів коду, мав його дорогоцінні коментарі до квіткової коробки.
Одного разу, кілька місяців роботи, коли я досить добре зарекомендував себе більш ніж компетентним (особливо порівняно з чудовим парадом інших кодерів, які пройшли через цей офіс, поки я працював там), він дивився через моє плече, як я працював, і він помітив, що я не використовую коментарі до квіткової коробки. О, я сказав, я написав формат-код вихідного коду, який перетворює мої коментарі у ваш стиль, коли я друкую їх. Це простіше, ніж підтримувати їх у редакторі. Він відкрив рот, на мить подумав, закрив його, пішов, і ми ніколи більше не говорили про стандарти кодування. Після цього обидві наші роботи стали легшими.