У меня есть страница (стр. 1) от 2 февраля 1989 года, которую представил мне мой бывший босс, в котором излагаются Ниман 13 Минимально достаточные заповеди для программирования. (Он узнал, что они были датированы, сделав это скорее частью археологии, чем современным набором рекомендаций.) Если вы их не видели, они выглядят следующим образом:
- Вы должны адекватно прокомментировать свой код, чтобы объяснить, что вы намереваетесь. Человек не думает только мнемоникой.
- Вы должны приравнивать числовые константы к значимым именам символов. Говорите четко и избегайте языческих значков.
- Опишите все входы и выходы в своих модулях. Будьте добры к своим коллегам по программному обеспечению и sistren, которым, возможно, придется поддерживать свои модули.
- Вы должны адекватно описать свои исправления. Грех ожидать, что ваш пэрен станет читателем разума. Разумеется, чтение - это грех.
- Вы должны предоставить псевдокодные объяснения вашего кода сборки. Поистине, сборка не является Cobol.
- У вас будет только одна запись и одна точка выхода на модуль. Тот, у кого много точек входа и выхода, должен ожидать, что их тела будут развиваться одинаково.
- Вы должны разработать свой код до его разработки. Воистину, действительно.
- Проводите обзоры своего кода с вашим сверстником. Благословенны кроткие, ибо они наследуют объектный код.
- Запишите свой дизайн и сделайте документацию доступной всем, кто поддерживает код. Поистине, тот, кто отказывается отложить операционные системы навсегда в аду.
- Ты сможешь принять осмысленную критику их кода. Если вам стыдно за свой код, вы должны стать профессиональным котелом.
- Перед тем, как поместить его в библиотечный контроль, вы должны проверить свой код (sic). Одна часть, оставшаяся вне Библии, была там, где Иов был испытан Богом, вынудив отлаживать крупную программу ассемблера 8096, которая была частью контроллера двигателя деления. Все это не было проверено перед выпуском. Чтобы ухудшить ситуацию, Job должен был использовать инструменты Intel.
- Во избежание использования глобальных структур данных, где это возможно. Башни будут называться Вавилон, программы не должны.
- Вы должны использовать язык высокого уровня, когда ваши программисты сборки не могут сопоставить эффективность оптимально скомпилированного кода конца двадцатого века. Остерегайтесь ложных богов, которые считают, что сборка всегда более эффективна (относительно скорости и размера), чем то, что могут создавать хорошие компиляторы. Вам должно быть очень хорошо с дизайном, а также с кодированием, чтобы действительно использовать язык ассемблера.
Я просмотрел интернет, не показал ничего об источнике этих заповедей или Нимане, и он убил меня, пытаясь узнать больше об этом и о любых других бит, которые он, возможно, должен был сказать. Единственный другой ключ, который у меня есть, это то, что в левом нижнем углу есть инициалы "DEN" - я предполагаю, что N для Нимана, но мне больше нечего идентифицировать текст. Таким образом,
а. Кто такой Ниман? (Программист? Учитель? Консультант? Случайный парень в компании?)
В. Из чего была эта страница? (старый справочник по программированию? какое-то руководство компании? Некоторые BBS в день?)
С. Где остальное? (Есть ли еще? Что еще есть? Было ли это самостоятельным?)
В ответ на комментарии мой босс с тех пор прошел, но до этого он был в бизнесе долгое время, greybeard и все такое. По цвету бумаги я вполне уверен, что дата (1989) - это примерно дата, когда она была напечатана.