• NASA的10条编码规则


    Alt

    Alt

    关于NASA的10条编程规则,他们曾表示:这些规则的作用就像汽车上的安全带:最初,它们可能有点不舒服,但过了一会儿,它们的使用就变成了第二天性,而没有使用它们就变得不可想象。

    Alt
    Gerard J. Holzmann

    10条规则的力量是由NASA / JPL可靠软件实验室的Gerard J. Holzmann于2006年创建的。这些规则旨在消除某些使代码难以查看或静态分析的C语言编程实践。

    这些规则是对MISRA C规则的补充,并已合并到更大的JPL编码标准集中。

    10条编码规则

    1、避免使用复杂的流程构造,例如goto和recursion

    2、所有循环都必须有固定的边界(这可以防止代码错乱)

    3、避免堆内存分配

    4、将函数限制为单个打印页面

    5、每个函数至少使用两个运行时断言

    6、将数据的范围限制在尽可能小的范围内

    7、检查所有非void函数的返回值,或将其强制转换为void以指示该返回值无用

    8、谨慎使用预处理器

    9、将指针使用限制为单引用,并且不使用函数指针

    10、编译所有可能的警告活动;所有的警告都应该在软件发布之前解决

    这些规则是为C语言定义的,但是其中一些规则也可以在现代Web或移动项目中使用。以下是我的挑选的部分适用规则,供大家参考。


    #1.避免使用复杂的流程构造,例如Goto和递归

    recursion如果不需要执行简单任务for可以完成的任务,我将不会使用递归的方式。在你无法直接访问机器的地方,例如在火星,月球或海底,进行递归是非常危险的行为!

    #2.所有循环必须有固定边界(这可以防止代码错乱)

    与第一个规则类似,我将使用固定范围的循环来防止无限循环或代码错乱。

    #4.将函数限制为单个打印页面

    将函数的长度减少到一页,可以更轻松地掌握程序特定例程的所有功能。

    如果超过此长度,则表明你在代码中添加了太多冗余的内容。

    另一个问题可能是你没有将函数分割为更小的函数防止代码重复。

    #6.将数据范围限制到最小

    如果你正在使用JavaScript那就永远不要使用var -总是喜欢使用let来防止变量泄漏或覆盖,甚至重影。

    其他语言也应该这样做,比如c#。对变量使用最受保护和最小的作用域,例如private或protected。

    对于其他语言也应该遵循这样的规则,例如C#。对变量使用最大保护和最小作用域,例如private或protected。

    #10.编译所有可能的警告活动;所有的警告都应该在软件发布之前解决

    使用JavaScript,你将无法编译代码,但可以轻松使用ESLint或类似工具从代码中获取警告。

    然后,即使你认为它们没有用,但也应删除并修复它们。现在我们已经准备好将我们的代码发射到火星了!

    Alt
    原文链接:https://medium.com/better-programming/the-power-of-10-nasas-rules-for-coding-43ae1764f73d

    欢迎点击“京东云”了解更多精彩内容

    Alt

    以上信息来源于网络,由“京东云开发者社区”公众号编辑整理,不代表京东云立场。

    Alt

  • 相关阅读:
    链接器之库文件处理
    Yii2.0数据库查询的一些简单的操作
    Yii rules常用规则
    yii2 session的使用方法
    curl实现发送Get和Post请求(PHP)
    Yii2.0登录详解(下)
    Yii2.0 用户登录详解(上)
    Linux终端最常用快捷键
    PHP5.6启动失败
    MySQL的外键是什么和它的作用
  • 原文地址:https://www.cnblogs.com/jdclouddeveloper/p/12221525.html
Copyright © 2020-2023  润新知