11

我有一页(第 1 页),日期为 1989 年 2 月 2 日,是我的前任老板给我的,概述了 Niman 的 13 条最低限度的编程戒律。(他意识到它们已经过时了,这使得这更像是一部考古作品,而不是一套现代指南。)如果你还没有看过它们,它们如下:

  1. 您应充分注释您的代码以解释您的意图。人并不仅仅靠记忆法思考。
  2. 您应该将数字常量等同于有意义的符号名称。说清楚,避免异教偶像。
  3. 你应该描述你的模块中的所有输入和输出。请善待可能需要维护您的模块的软件兄弟姐妹。
  4. 你应该充分描述你的修改。期望你的同龄人成为读心者是一种罪过。无论如何,读心术是一种罪过。
  5. 你应该提供你的汇编代码的伪代码解释。确实,组装不是 Cobol。
  6. 每个模块只能有一个入口点和一个出口点。有许多入口和出口点的人应该期望他们的身体发展相同。
  7. 你应该在开发代码之前设计你的代码。确实,确实。
  8. 你应该和你的同事一起审查你的代码。温顺的人有福了,因为他们将继承目标代码。
  9. 你应该记录你的设计,并让所有维护代码的人都可以使用这些文档。确实,拒绝的人将永远在地狱中调试操作系统。
  10. 你应该能够接受对他们代码的有意义的批评。如果你对你的代码感到羞耻,你应该成为一名职业投球手。
  11. 在将代码放入库控制之前,您应彻底(原文如此)测试您的代码。圣经中遗漏的一部分是上帝通过调试作为柴油引擎控制器一部分的大型 8096 汇编语言程序来测试约伯。整个东西在发布前没有经过测试。更糟糕的是,乔布不得不使用英特尔工具。
  12. 您应尽可能避免使用全局数据结构。塔应该被命名为 Babel,程序不应该。
  13. 当您的汇编程序员无法与 20 世纪后期最佳编译代码的效率相匹敌时,您将使用高级语言。当心那些认为汇编总是比好的编译器可以产生的效率更高的假神(就速度和大小而言)。您必须非常擅长设计和编码才能真正利用汇编语言。

我搜遍了互联网,没有透露任何关于这些诫命或尼曼诫命的来源,我一直在试图找出更多关于这一点以及他可能不得不说的任何其他内容的信息。我唯一的其他线索是在左下角,有首字母“DEN”——我假设 N 代表尼曼,但我没有其他东西可以识别文本。所以,

A. 尼曼是谁?(程序员?老师?顾问?公司里随便的人?)

B. 这个页面是从哪里来的?(旧的编程指南?一些公司手册?一些 BBS 过去?)

C. 剩下的在哪里?(还有更多吗?还有什么?这是一个独立的东西吗?)

作为对评论的回应,我的老板已经离开了,但在那之前,他在这个行业待了很长时间,很长一段时间,白胡子什么的。通过纸张的颜色,我相当肯定日期(1989 年)大致是它的印刷日期。

4

3 回答 3

19

这个人很有可能是唐纳德·E·尼曼

  • 在搜索 Donald E. Niman 时,您会得到几个结果:

    • 他曾在加利福尼亚州库卡蒙加牧场的 Safetran Systems Corporation 担任软件工程师
    • 1999 年左右,他积极参与 BOINC 的 SETI@Home
    • 他在几个数学论坛上有一些活跃的帖子
    • 他在一个收集苏联计算器的网站上的留言簿中有一个帖子(你可能需要谷歌缓存那个帖子,因为它不会为我加载)
  • 搜索“唐纳德·尼曼”显示:

这项研究确实看起来非常“跟踪者”,但考虑到这个人的这些细节,他肯定与会写一些“编程诫命”的人相匹配

他确实有几个你可以上网的联系点——你也许可以联系到他并查明他是否是真正的作者。此外,您还可以通过他的 Google 个人资料页面判断他是否居住在您的前任老板 1989 年工作过的城市。

于 2009-10-01T11:37:29.373 回答
11

我同意 Nosredna 的观点——我认为你的老板是从多个来源编写或拼凑而成的。

但我受到启发,想重写其中的一些:

  1. 您将编写无需注释即可阅读的代码。
  2. 你应该在合理的范围内将数字常量等同于有意义的符号名称。x > ZERO 是不合理的。
  3. (原样)
  4. 您应使用源代码控制,而不是在源代码中放置修订注释。
  5. 除非你的名字是史蒂夫吉布森,否则你不能写大会。
  6. 你应该在适当的时候使用保护条款和例外。
  7. 你应该设计你的代码,但 TDD 就是设计。
  8. (原样)
  9. 不得无故创建文档,也不得让文档过时。
  10. (原样)
  11. 在将其置于源代码控制之前,您应确保您的代码可以编译并且您的单元测试存在并通过。破坏建筑的人可能会遭受疖子。
  12. 您应尽可能避免使用全局数据结构。这包括单身人士。
  13. 你应该避免优化而不进行剖析、坦白和自我鞭挞。
于 2009-09-26T01:22:28.803 回答
4

Mark 发现的 Donald E. Niman 是正确的。我应该知道,因为是我。这是我在印第安纳州哥伦布市的康明斯电子公司工作时写的 22 年的东西。它有点过时了,从那时起我就学到了一些东西,所以应该把它当作众所周知的一粒盐。Donald E. Niman,亚利桑那州凤凰城。

于 2010-09-06T13:36:43.830 回答