▁▂▃ 详解各大厂编程规范 ▃▂▁

来吧!各大厂知名规范体系~

  1. 360 安全规则集合

https://github.com/Qihoo360/safe-rules

安全规则集合侧重违规代码的量化界定,严格遵循 C11 和 C++11 标准,并兼顾 C18、C++17 以及历史标准,可为不同方向的开发团队提供灵活而统一的规范指导。

  1. 腾讯代码安全指南

https://github.com/Tencent/secguide

  1. 华为 C&C++ 语言安全编程规范

此规范较为简练便于记忆,所以适合在 Code Review 时人工对代码展开相关检查和讨论,由于不是以网站形式发布的,这里就不提供链接了,可自行搜索相关文档。

  1. Google C++ Style Guide

https://google.github.io/styleguide/cppguide.html
中文版:
https://github.com/zh-google-styleguide/zh-google-styleguide

由于历史原因,GSG 较为保守,通过抑制语言特性以达到规避风险的目的。在早期尚未形成所谓“现代”编程思想的时候,此规范就已经面世并发挥作用了,其中的某些观点可能与 C++ 官方不符,比如 C++ 创始人曾一度认为用常数 0 表示空指针比用 NULL 更好,而GSG 的观点与之相反,但历史表明 GSG 的观点是正确的,C++11 引入了专属符号 nullptr 以表示空指针的值。

GSG 是实践经验的总结,也在不断发展,目前已适应 C++17,对提升代码可维护性有很高的参考价值。

  1. C++ Core Guidelines

http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
中文版:
https://github.com/lynnboy/CppCoreGuidelines-zh-CN

简称 CCG,是 C++ 创始人对 C++ 代码编写的宏观指导,属于语言级规范体系,全面地阐述了现代 C++ 编程思想,以规则条款的形式明确地指出哪些是要避免的,哪些是值得提倡的,具有权威性,适合开发者学习。

  1. SEI CERT Coding Standards

https://wiki.sei.cmu.edu/confluence/display/seccode

CERT 提供了较为全面的安全措施,如敏感信息的保护、注入或劫持的预防等等是值得所有开发人员学习的。

  1. MISRA C/C++

https://www.misra.org.uk

MISRA 调强代码静态结构的合规性,规则较为严格,梳理了标准中“未定义”、“未声明”、“实现定义”的情况,总结可导致不良后果的代码形式并以此为规范依据,当前发行版本遵循 C99 和 C++03 标准。

  1. High Integrity C++ Coding Standard