WindowsclientC/C++编程规范“建议”——前言
前言
工作中接触了非常多编程规范。当中最有意思的是,公司近期公布了一版C/C++编程规范,然后我看到该规范的最后一段时,有这么一句:“该规范不适用于Windows平台开发”。看来这份规范是由做其它平台开发的同学制定的。那么做Windows开发的人都去哪儿了?后来因为工作须要,项目组须要我制定一份编程规范。这也是我这系列博客的由来。(转载请指明出于breaksoftware的csdn博客)
说到“规范“”,可能没多少人喜欢这种东西。相信非常多project师和我一样,都喜欢互联网的一些特质:自由、兼容并包。己所不欲勿施于人,所以我制定该“规范”时,也是抱着开放的态度——在”规范“之后加了”建议“二字。之后,我都会统称这些条例为“建议”。
假如说指定“规范”是easy的(事实上也不easy),那么最难的是让人遵从。一般假设我们想遵从什么,肯定要先想好我们为什么要遵从,我们遵从之有什么优点,能够给我们带来什么?相同我也是按着这个思维去制定这种“建议”,我将会从代码的可读性、可维护性、健壮性等角度,思考和编制该“建议”。希望这些“建议”能够协助大家写出更易读、更健壮、更好看的代码。
本“建议”条例分为下面若干等级:
|
【必须】 |
编码必须遵从。 |
|
【要求】 |
该规则能够很好的提高易读性、高效性和安全性。在特殊情况下,能够不遵从,可是须要给出不遵从的理由。 |
|
【推荐】 |
该规则能够部分提高易读性、高效性和安全性。在大部分情况下,须要遵从。 |
|
【建议】 |
该规则仅仅是作为建议,代码作者能够依据自己推断来决定。 |
本“建议”中样例代码,使用不同底色表示代码是否存在问题:
表示代码存在问题。
表示一种能够修复存在问题代码的方式。
本建议将分为下面若干模块。我会依据工作中新的发现和认识以及朋友们的建议,不定期更新这些条例。并将更新历史记录在该文的末尾,以便大家查阅。
模块:
- 函数 《WindowsclientC/C++编程规范“建议”——函数》
- 指针 《WindowsclientC/C++编程规范“建议”——指针》
- 函数调用 《WindowsclientC/C++编程规范“建议”——函数调用》
- 表达式和运算 《WindowsclientC/C++编程规范“建议”——表达式和运算》
- 结构 《WindowsclientC/C++编程规范“建议”——结构》
- 宏 《WindowsclientC/C++编程规范“建议”——宏》
- 文件 《WindowsclientC/C++编程规范“建议”——文件》
- 变量和常量 《WindowsclientC/C++编程规范“建议”——变量和常量》
- 风格 《WindowsclientC/C++编程规范“建议”——风格》
更新历史:
| 时间 | 内容 | 备注 |
| 2014.07.18 | 录入“建议”各项 | 初稿 |
WindowsclientC/C++编程规范“建议”——前言的更多相关文章
- WindowsclientC/C++编程规范“建议”——函数
1 函数 1.1 代码行数控制在80行及以内 等级:[要求] 说明:每一个函数的代码行数控制应该控制在80行以内.假设超过这个限制函数内部逻辑一般能够拆分.假设试图超过这个标准.请列出理由. 但理由不 ...
- Windows客户端C/C++编程规范“建议”——风格
本文来自:http://blog.csdn.net/breaksoftware/article/details/37935459 命名风格也非常适用于C# 9 风格 9.1 优先使用匈牙利命名法 等级 ...
- 51单片机C语言学习笔记8:单片机C51编程规范
1.单片机C51编程规范- 前言 为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范. 2.单片机C51编程规范-范围 本标准规定了程序设计人员进行程序设计时必须遵循的规范.本 ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- 中兴软件编程规范C/C++
Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003 软件编程规范C/C++ 20 ...
- JAVA 编程规范
软件开发技术规范 PTHINK-DEVELOP-JAVA-091010 Java语言编程规范 2009-10-10发布 2009-10-11实施 ...
- FangDD Java编程规范
我们采用<Oracle/Sun原生的Java编程规范>和<Google Java编程规范> Google Java编程风格指南 January 20, 2014 作者:Haws ...
- 国内大型的内部 C# 编程规范
C#编程规范 改动记录 Ver. No 发版日期 编制人 批准人 改动的说明 目 录 1 1.1 1.2 2 2.1 2.1.1 Pascal 大写和小写 2.1.2 Came ...
- C++语言编程规范
前言 这里参考了<高质量C++C 编程指南 林锐>.<google C++编程指南>以及<华为C++语言编程规范>编写了这份C++语言编程规范文档,以合理使用 C+ ...
随机推荐
- C# System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件
将文件转化为二进制代码时,出现提示: 文件正由另一进程使用,因此该进程无法访问该文件 原来是构造System.IO.FileStream时,使用的方法有问题 一开始是直接使用 System.IO. ...
- JSP:JAVA Bean在JSP中的运用
目录结构,如图: index.jsp <%@ page language="java" import="java.util.*" pageEncoding ...
- 基于visual Studio2013解决面试题之0506取和为m的可能组合
题目
- 出现Data Tools 与VS 不兼容问题
转载自:http://www.yishimei.cn/network/73.html 相信很多人都遇到了“此版本的SQL Server Data Tools与此计算机中安装的数据库运行时组件不兼容”这 ...
- 关于WCF在IIS8注册的问题
原文 http://social.microsoft.com/Forums/id-ID/30cf8a24-2719-4c1c-b035-3d186fbfc09c/wcfiis8?forum=wcfzh ...
- 14.9.2 Specifying the Row Format for a Table 指定 表的行格式
14.9.2 Specifying the Row Format for a Table 指定 表的行格式 mysql> SHOW TABLE STATUS\G; *************** ...
- boost.asio系列——io_service
IO模型 io_service对象是asio框架中的调度器,所有异步io事件都是通过它来分发处理的(io对象的构造函数中都需要传入一个io_service对象). asio::io_service i ...
- 【Demo 0007】Java基础-类扩展特性
本章学习要点: 1. 掌握static 修饰的类,方法以及变量的功能及用法; 2. 掌握代码块(静态,非静态)的作用以及注意事项: 3. 了解基本数据类 ...
- qt宽字符串中文乱码(codec->toUnicode值得学习)
乱码原因: QT使用的是utf-8 简体中文版的windows操作系统及其应用软件默认都是ANSI/GBK编码.而且这里应该是宽字符串. 多字节ANISGB 宽字符UNICODE 多字节显示标准字符的 ...
- Swift - 类的计算属性(使用get和set来间接获取/改变其他属性的值)
1,Swift中类可以使用计算属性,即使用get和set来间接获取/改变其他属性的值,代码如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class Calc ...