SEI CERT编码标准
  rF5Yww0DZoE4 2023年11月02日 58 0

SEI CERT编码标准是由Carnegie Mellon University软件工程研究所的软件工程研究中心(SEI)制定的一套编码规范。

以下是SEI CERT编码标准的简要列表:

  • 规则01:声明和初始化
  • 规则02:表达式
  • 规则03:整型
  • 规则04:浮点数
  • 规则05:转换
  • 规则06:表达式的类型
  • 规则07:指针
  • 规则08:数组
  • 规则09:结构体和联合体
  • 规则10:错误处理
  • 规则11:输入输出(I/O)
  • 规则12:表达式与语句
  • 规则13:并发
  • 规则14:代码库和头文件
  • 规则15:宏
  • 规则16:文件操作
  • 规则17:内存管理
  • 规则18:可读性
  • 规则19:错误处理
  • 规则20:安全敏感
  • 规则21:库函数
  • 规则22:POSIX(可移植操作系统接口)
  • 规则23:Java
  • 规则24:C++
  • 规则25:C#
  • 规则26:Perl
  • 规则27:Python

以下是SEI CERT编码标准中各类规则的简要描述:

  • 规则01:声明和初始化 - 关注变量声明和初始化的规范方式,包括变量声明顺序、初始化和赋值的一致性等。
  • 规则02:表达式 - 强调编写清晰、简洁和可读的表达式,避免复杂的嵌套和不明确的操作符优先级。
  • 规则03:整型 - 规范整型变量的使用,包括不同整型类型之间的转换、有符号和无符号整数的使用等。
  • 规则04:浮点数 - 强调浮点数的精确性和一致性,涵盖浮点数的舍入、舍入模式和异常处理等方面。
  • 规则05:转换 - 规范类型转换的使用,包括显示和隐式转换的限制、数据精度丢失的处理等。
  • 规则06:表达式的类型 - 关注表达式中混合类型的规范,包括不同类型操作数的转换和一致性。
  • 规则07:指针 - 强调指针的正确使用,包括指针的声明、初始化、解引用和空指针检查等。
  • 规则08:数组 - 规范数组的声明、初始化、访问和越界检查,确保数组的正确使用。
  • 规则09:结构体和联合体 - 强调结构体和联合体的正确使用,包括成员的声明和初始化、访问和内存对齐等方面。
  • 规则10:错误处理 - 强调在程序中处理错误和异常的规范方式,包括错误码的处理、异常捕获和处理、错误信息的输出等。
  • 规则11:输入输出(I/O) - 规范程序中输入和输出操作的安全性和正确性,包括文件操作、格式化输入输出和输入验证等。
  • 规则12:表达式与语句 - 强调编写简洁、可读性强的表达式和语句,避免复杂的逻辑结构和冗长的代码。
  • 规则13:并发 - 关注多线程和并发编程的规范,包括线程同步、互斥和临界区的使用,以及并发编程的常见陷阱和问题。
  • 规则14:代码库和头文件 - 强调代码库和头文件的规范和组织方式,包括命名空间的使用、头文件的包含保护和依赖管理等。
  • 规则15:宏 - 规范宏的使用,包括宏的命名规则、宏定义的正确方式、宏参数的处理等。
  • 规则16:文件操作 - 强调对文件的安全访问和操作,包括文件打开和关闭、文件指针的移动和文件权限的设置等。
  • 规则17:内存管理 - 关注动态内存的规范使用,包括内存分配和释放、内存泄漏和悬挂指针的处理等。
  • 规则18:可读性 - 强调编写清晰、易读和易理解的代码,包括良好的命名、适当的注释和代码风格的规范等。
  • 规则19:错误处理 - 强调错误处理的规范方式,包括错误检测和报告、错误恢复和资源清理等。
  • 规则20:安全敏感 - 关注安全相关的编码规范,包括缓冲区溢出、代码注入、格式化字符串漏洞等安全问题的预防和修复。
  • 规则21:库函数 - 规范使用标准库函数的方式,包括正确的参数传递、返回值处理和错误检测等。
  • 规则22:POSIX(可移植操作系统接口) - 强调使用POSIX接口的规范方式,包括线程、进程、文件和网络操作等。
  • 规则23:Java - 关注Java编码的规范,包括命名规则、异常处理、线程安全和Java特定的陷阱和问题等。
  • 规则24:C++ - 强调C++编码的规范,包括面向对象编程、运算符重载、模板使用和异常处理等。
  • 规则25:C# - 规范C#编码的方式,包括命名规则、属性和事件、异常处理和线程安全等。
  • 规则26:Perl - 强调Perl编码的规范,包括变量声明和使用、字符串处理、文件操作和正则表达式等。
  • 规则27:Python - 关注Python编码的规范,包括命名规则、异常处理、迭代和循环、模块和包的组织等。


SEI CERT Coding Standards - CERT Secure Coding - Confluence

https://wiki.sei.cmu.edu/confluence/display/seccode/SEI+CERT+Coding+Standards

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  Ohl6n170bzPf   2023年11月02日   46   0   0 错误处理Go调用栈
rF5Yww0DZoE4