我有一页(第 1 页),日期为 1989 年 2 月 2 日,是我的前任老板给我的,概述了 Niman 的 13 条最低限度的编程戒律。(他意识到它们已经过时了,这使得这更像是一部考古作品,而不是一套现代指南。)如果你还没有看过它们,它们如下:
- 您应充分注释您的代码以解释您的意图。人并不仅仅靠记忆法思考。
- 您应该将数字常量等同于有意义的符号名称。说清楚,避免异教偶像。
- 你应该描述你的模块中的所有输入和输出。请善待可能需要维护您的模块的软件兄弟姐妹。
- 你应该充分描述你的修改。期望你的同龄人成为读心者是一种罪过。无论如何,读心术是一种罪过。
- 你应该提供你的汇编代码的伪代码解释。确实,组装不是 Cobol。
- 每个模块只能有一个入口点和一个出口点。有许多入口和出口点的人应该期望他们的身体发展相同。
- 你应该在开发代码之前设计你的代码。确实,确实。
- 你应该和你的同事一起审查你的代码。温顺的人有福了,因为他们将继承目标代码。
- 你应该记录你的设计,并让所有维护代码的人都可以使用这些文档。确实,拒绝的人将永远在地狱中调试操作系统。
- 你应该能够接受对他们代码的有意义的批评。如果你对你的代码感到羞耻,你应该成为一名职业投球手。
- 在将代码放入库控制之前,您应彻底(原文如此)测试您的代码。圣经中遗漏的一部分是上帝通过调试作为柴油引擎控制器一部分的大型 8096 汇编语言程序来测试约伯。整个东西在发布前没有经过测试。更糟糕的是,乔布不得不使用英特尔工具。
- 您应尽可能避免使用全局数据结构。塔应该被命名为 Babel,程序不应该。
- 当您的汇编程序员无法与 20 世纪后期最佳编译代码的效率相匹敌时,您将使用高级语言。当心那些认为汇编总是比好的编译器可以产生的效率更高的假神(就速度和大小而言)。您必须非常擅长设计和编码才能真正利用汇编语言。
我搜遍了互联网,没有透露任何关于这些诫命或尼曼诫命的来源,我一直在试图找出更多关于这一点以及他可能不得不说的任何其他内容的信息。我唯一的其他线索是在左下角,有首字母“DEN”——我假设 N 代表尼曼,但我没有其他东西可以识别文本。所以,
A. 尼曼是谁?(程序员?老师?顾问?公司里随便的人?)
B. 这个页面是从哪里来的?(旧的编程指南?一些公司手册?一些 BBS 过去?)
C. 剩下的在哪里?(还有更多吗?还有什么?这是一个独立的东西吗?)
作为对评论的回应,我的老板已经离开了,但在那之前,他在这个行业待了很长时间,很长一段时间,白胡子什么的。通过纸张的颜色,我相当肯定日期(1989 年)大致是它的印刷日期。