NASA 顶级程序员是如何编程的

NASA 顶级程序员是如何编程的,第1张

你好:美国国家航空航天局(NASA)开发人员的工作是编程界最具挑战性的工作之一。 他们编写代码并开发关键任务应用程序,安全是他们主要关注的重点。

在这种情况下,制定严谨的编码准则并遵循,对于他们来说十分重要。这些规则涵盖了软件开发的各个方面,如应该如何编写软件,应该使用哪些语言特性等等。

尽管很难就一个编码标准达成共识,NASA 的 JPL 首席科学家 Gerard J. Holzmann 还是制定了一套名为“发展安全关键代码的十大规则”的代码准则,由所有工作人员共同遵循。

由于 JPL 的工作内容与 C 语言相关,因此本指南主要关注用 C 编程语言编写的代码。但也可以灵活运用到其他语言上。

NASA 的十大编码准则如下:

1、简化控制流程:使用尽可能精简的控制流程构造编写程序 – 不要使用 setjmp 或 longjmp 构造、goto 语句,以及直接或间接的递归调用。

2、为循环使用固定次数上限:所有的循环必须有一个固定的上限。 必须可以被某个检测工具静态证实,该循环不能达到预置的迭代上限值。如果该上限值不能被静态证实,那么可以认为违背该原则。

3、不要在初始化完成后进行动态内存分配。

4、不使用冗长的函数:如果标准格式为一个语句一行、一个声明一行,那么函数的长度应在一张纸的范围内,即每个函数的代码行不能超过 60。

5、低断言密度:代码中断言的密度平均低至每个函数 2 个断言。断言被用于检测在实际执行中的异常情况。断言必须没有副作用,并应该定义为布尔测试。当一笑枣猛个断言失败时,应该执行一个明确的恢复 *** 作,例如,把错误情况返回给执行该断言失败的函数调用者。对于静态工具来说,任何能被静态工具证实其永远不会失败或永远不能触发的断言违反了该规则(例如,通过增加无用的 assert(true) 语句是不可能满足这个规则的)。

6、以最小范围级别声明数据对象:该原则同时也是数据隐蔽(Data hiding)的基本原则。所有数据对象均必须以尽可能最小的范围级别进行声明。

7、检查参数和返回值:应在每次调用函数后检查非空函数的返回值,并在每个函数内部检查参数的有效性。

8、限制预处理程序的使用:预处理器的使用仅受包含头文件和简单的宏定义的限制。符号拼接、可变参数列碰桥表(省略号)和递归宏调用不被允许。所有的宏必须扩展为完整的语法单元。通常不建议使用条件编译指令,但也不总是能够避免每次在代码中这样做的时候必须有基于工具的检查器进行标记,并有充足的理由。

9、限制指针的使用:具体来说,不允许有超过一级的解除指针引用。解除指针引用 *** 作不可隐藏在宏定义或类型声明中。不允许使用函数指针。

10、编译所有代码:从开发工作岩瞎第一天开始时,在编译器开启最高级别警告选项的条件下对代码进行编译。在此设置之下,代码必须零警告编译通过。代码必须通过源代码静态分析工具,每天检查一次以上,且零警告通过。

请参考!

有些人一生下来就被受到不公平的待遇,这不是因为他们的社会地位,而是因为她们的肤色。

这部电影是根据真人真事改编的,发生在1961年的NASA。

现在全球技术领先让无数人羡慕的NASA,让人不敢相信,1961年还存在着严重的种族歧视。

喝咖啡分有色人种的咖啡壶,上厕所分有色人种专用厕所,工作分有色人种专用办公区,离正式办公区有将近一公里之远。

我们的主角凯瑟琳被调到数据部当计算员,每天要花将近四十分钟来回去上厕所,因为白人区办公楼没有有色人种的卫生间,而且她的名字不允许出现在计算报告上。

另外一位胖胖的多萝西带着孩子去图书馆,被人赶了出来,因为她们是有色人种,甚至公交车也被分为了有色人种隔离区。

瘦瘦的玛丽想去考取高级工程师,被告知没有资格上白人上课的学校。

她们没有就此屈服,她们努力争取自己的权益,她们知道人生而平等。

没有人做错什么,“当你表现正确,你就是正确的”。

这部电影没有狗血剧情,没有让人喝不下去的鸡汤,它告诉我们一个简单的道理,做好自己,优秀到不能被忽视。

没有让人愤愤不平的隐忍,而是漂亮的让人哑口无言的反击。败唯

凯瑟琳的主管去敲掉了有色人种厕所的牌子,并且说以后厕所不分人种。他在凯瑟琳订婚时送给她一条珍珠项链,还在最后给她准许证让她进控制室现场看火箭升空。

多萝西学习了电脑编码,并且带着自己的伙伴们一起集体进入了IBM控制室,搞定了一帮男人无法搞定的大型计算机!

看到这里无法不感动!

玛丽因为政策无法就读白人学校,失去申请工程师资格时,她提出诉讼。她认真研究当庭法官的履历,以体面而合理的申辩,让律师对她刮目相看。

没错,在我之前没有人做过(黑人就读白人学校)。

可是法官大人,你也是家族中第一个(上大学)

凯瑟琳·约翰逊,一个计算能力爆表的天才,被任命参与NASA核心工作,成为NASA之后诸多成功探索计划的大功臣。NASA的一栋楼以凯瑟琳的名字命名,为了纪念她为NASA作出的贡献!

多罗西·沃恩,NASA第一位非裔美国人主管,电察誉培脑程式语言先驱、程序员始祖之一。

玛丽·杰克逊,NASA第一位黑人女性工程师。

“黑人+女性”,当她们打破这个魔咒,她们赢得了尊重。

这个女人和有色人种被轻视的时代虽然已经过去,离我们相去甚远,不过现在的社会还依然有各虚升种各样的歧视,而最好的反击方式就是我们做好自己,时刻保持自己的尊严。

不管任何时候,做任何事都一样,当我们受到不公的待遇,唯有做好自己,让自己变强是唯一的出路!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12276630.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存