1989 年 2 月 2 日付けのページ (ページ 1) があり、以前の上司から提示された、プログラミングに関する Niman の 13 の最小限の十分な戒めの概要が説明されています。(彼はそれらが時代遅れであることを認識していたため、これは現代の一連のガイドラインというよりも考古学の作品になっています。) それらを見たことがない場合は、次のとおりです。
- 何を意図しているかを説明するために、コードに適切なコメントを付けなければなりません。人間は記憶術だけでは考えません。
- 数値定数を意味のあるシンボル名と同一視しなければなりません。はっきりと話し、異教徒のアイコンを避けてください。
- モジュール内のすべての入力と出力を記述する必要があります。あなたのモジュールを保守しなければならないかもしれないあなたのソフトウェアの兄弟姉妹に親切にしてください。
- あなたはあなたの改訂を適切に説明しなければなりません。あなたの仲間が心を読む人であることを期待するのは罪です. とにかく読心は罪です。
- アセンブリ コードの疑似コードの説明を提供する必要があります。確かに、アセンブリは COBOL ではありません。
- モジュールごとに 1 つの入口点と 1 つの出口点しか持たない必要があります。多くの入り口と出口を持っている人は、自分の体が同じように発達することを期待するでしょう.
- コードを開発する前に、コードを設計する必要があります。本当に、本当に。
- あなたは仲間と一緒にあなたのコードのレビューを行うべきです。彼らはオブジェクトコードを継承するからです。
- 設計を文書化し、コードを保守するすべての人が文書を利用できるようにする必要があります。確かに、それを拒む者はオペレーティングシステムのデバッグを永遠に地獄で行うことになるだろう。
- 彼らのコードに対する有意義な批判を受け入れることができなければなりません。もし自分のルールを恥じるなら、プロのボウラーになるべきだ。
- コードをライブラリ管理に配置する前に、コードを徹底的に (sic) テストする必要があります。聖書から除外された部分の 1 つは、ディーゼル エンジン コントローラーの一部である大規模な 8096 アセンブリ言語プログラムをデバッグすることによって、ヨブが神によってテストされた箇所です。リリース前に全体がテストされていません。さらに悪いことに、ジョブは Intel ツールを使用しなければなりませんでした。
- 可能な限り、グローバル データ構造の使用を避ける必要があります。タワーには Babel という名前を付ける必要がありますが、プログラムには名前を付けないでください。
- アセンブリ プログラマが、最適にコンパイルされた 20 世紀後半のコードの効率に匹敵しない場合は、高級言語を使用する必要があります。アセンブリは常に (速度とサイズの点で) 優れたコンパイラが生成できるものよりも効率的であると考える偽りの神々に注意してください。アセンブリ言語を実際に活用するには、コーディングだけでなく設計にも優れている必要があります。
私はインターネットを精査しましたが、これらの戒めやニマンの戒めの出所について何も明らかにしていません。これについて、また彼が言わなければならなかったかもしれない他のビットについてもっと調べようとして、私を殺していました. 私が持っている他の唯一の手がかりは、左下にイニシャル「DEN」があることです.NはNimanのNだと思いますが、テキストを特定するものは他にありません. そう、
A. ニマンとは誰ですか? (プログラマー? 教師? コンサルタント? 会社のランダムな男?)
B. このページは何でしたか? (古いプログラミングガイド? 会社のマニュアル? 昔の BBS? )
C. 残りはどこですか? (もっとありますか?他に何がありますか?これは独立したものでしたか?)
コメントに応えて、私の上司はその後亡くなりましたが、それ以前は、彼は長い間、白ひげを生やしてビジネスに携わっていました. 紙の色から、日付 (1989 年) が印刷されたおおよその日付であることがかなり確信できます。