我有一个页面(第1页),日期为1989年2月2日,我的前任老板向我提出,概述了尼曼的13条最低限度的诫命.(他认识到他们已经过时了,这使得它更像是一种考古学而非现代的指导方针.)如果你还没有看到它们,它们如下:
你应该充分评论你的代码,以便解释你的意图.男人不会单独依靠助记符.
你应该将数字常量等同于有意义的符号名称.说清楚,避免异教徒的图标.
你应该描述你模块中的所有输入和输出.善待你的软件兄弟和sistren可能必须维护你的模块.
你应该充分描述你的修改.期待你的peeren成为读者是一种罪恶.无论如何,精神阅读是一种罪.
你应该提供你的汇编代码的伪代码解释.确实,装配不是Cobol.
每个模块只有一个入口和一个出口点.有许多进入和退出点的人应该期望他们的身体发展相同.
在开发之前,你应该设计你的代码.确实,确实如此.
你要与你的peeren一起审查你的代码.祝福是温顺的,因为他们将继承目标代码.
您应记录您的设计并向维护代码的所有人提供文档.实际上,拒绝的人会在地狱中永远地调试操作系统.
你能够接受有意义的批评他们的代码.如果你为自己的代码感到羞耻,那么你应该成为一名职业投手.
在将代码放入库控制之前,您应彻底(原文如此)测试您的代码.圣经中遗漏的一部分是上帝通过调试作为disel引擎控制器一部分的大型8096汇编语言程序来测试约伯的地方.整个事情在发布之前没有经过测试.更糟糕的是,Job必须使用英特尔工具.
在可能的情况下,您应避免使用全局数据结构.塔楼应该被命名为巴别塔,程序不应该.
当你的汇编程序员无法匹配最佳编译的二十世纪晚期代码的效率时,你应该使用高级语言.谨防那些认为装配总是比良好的编译器能够产生的效率(速度和尺寸)更高效的假神.你必须非常善于设计和编码才能真正利用汇编语言.
我已经在互联网上搜索了这些诫命或尼曼的诫命的来源,并且它一直在杀我试图找到更多关于这个以及他可能不得不说的任何其他内容.我唯一的另一个线索是,在左下方,有首字母"DEN" - 我假设N代表尼曼,但我没有别的东西来识别文本.所以,
A.谁是尼曼?(程序员?老师?顾问?公司的随机人员?)
B.这页是什么?(旧的编程指南?一些公司手册?当天回来的一些BBS?)
C.其余部分在哪里?(还有更多吗?还有什么?这是一个独立的东西吗?)
为了回应这些评论,我的老板已经过去了,但在此之前,他已经在这家公司工作了很长时间,灰熊和所有人.根据论文的颜色,我很确定日期(1989年)大致是印刷日期.
这个男人很有可能是唐纳德·E·尼曼.
在搜索Donald E. Niman时,您会得到几个结果:
他是位于加利福尼亚州Rancho Cucamonga的Safetran Systems Corporation的软件工程师
他在1999年左右在BOINC做SETI @ Home时非常活跃
他在几个数学论坛上有一些活跃的帖子
他在一个用于收集苏联计算器的网站上的留言簿中有一个帖子(你可能需要谷歌缓存那个,因为它不会为我加载)
搜索"唐纳德尼曼"显示:
据Facebook报道,他目前在亚利桑那州凤凰城
他的Google档案显示他确实住在Rancho Cucamonga
他在Plurk有一个51岁的朋友- 所以他也可能在那个年龄段,与1989年写一点"诫命名单"一致
名称放在微芯片上去太空
这项研究确实看起来非常"潜行者" - 但是,鉴于这些关于这个人的细节,他肯定会与那些会写出一些"编程诫命" 的人的角色相匹配.
他确实有几个联系点,你可以上网 - 你可以抓住他,看看他是不是真正的作者.此外,您可以通过他的Google个人资料页面判断他是否曾居住在您的前任老板可能曾在1989年工作过的城市.
我同意Nosredna的观点 - 我认为你的老板是从多个来源编写或拼凑而成的.
但我觉得鼓励改写其中一些:
你应该编写可以在不需要注释的情况下读取的代码.
你应该在合理的范围内将数字常量等同于有意义的符号名称.x> ZERO不合理.
(按原样)
您将使用源代码管理,而不是在源代码中放置修订注释.
除非你的名字是史蒂夫吉布森,否则你不会写集会.
在适当的时候,你应该使用保护条款和例外.
你应该设计你的代码,但TDD是设计的.
(按原样)
你不能没有理由创建文档,也不允许文档过时.
(按原样)
你应确保你的代码编译并且你的单元测试存在并在将其放入源代码控制之前通过.可能会对那些打破构造的人施加沸腾.
在可能的情况下,您应避免使用全局数据结构.这包括单身人士.
如果没有剖析,忏悔和自我鞭挞,你应该避免优化.