前言

工作中接触了非常多编程规范。当中最有意思的是,公司近期公布了一版C/C++编程规范,然后我看到该规范的最后一段时,有这么一句:“该规范不适用于Windows平台开发”。看来这份规范是由做其它平台开发的同学制定的。那么做Windows开发的人都去哪儿了?后来因为工作须要,项目组须要我制定一份编程规范。这也是我这系列博客的由来。(转载请指明出于breaksoftware的csdn博客)

说到“规范“”,可能没多少人喜欢这种东西。相信非常多project师和我一样,都喜欢互联网的一些特质:自由、兼容并包。己所不欲勿施于人,所以我制定该“规范”时,也是抱着开放的态度——在”规范“之后加了”建议“二字。之后,我都会统称这些条例为“建议”。

假如说指定“规范”是easy的(事实上也不easy),那么最难的是让人遵从。一般假设我们想遵从什么,肯定要先想好我们为什么要遵从,我们遵从之有什么优点,能够给我们带来什么?相同我也是按着这个思维去制定这种“建议”,我将会从代码的可读性、可维护性、健壮性等角度,思考和编制该“建议”。希望这些“建议”能够协助大家写出更易读、更健壮、更好看的代码。

本“建议”条例分为下面若干等级:

【必须】

编码必须遵从。

【要求】

该规则能够很好的提高易读性、高效性和安全性。在特殊情况下,能够不遵从,可是须要给出不遵从的理由。

【推荐】

该规则能够部分提高易读性、高效性和安全性。在大部分情况下,须要遵从。

【建议】

该规则仅仅是作为建议,代码作者能够依据自己推断来决定。

本“建议”中样例代码,使用不同底色表示代码是否存在问题:

表示代码存在问题。

表示一种能够修复存在问题代码的方式。

本建议将分为下面若干模块。我会依据工作中新的发现和认识以及朋友们的建议,不定期更新这些条例。并将更新历史记录在该文的末尾,以便大家查阅。

模块:

  1. 函数                     《WindowsclientC/C++编程规范“建议”——函数》
  2. 指针                     《WindowsclientC/C++编程规范“建议”——指针》
  3. 函数调用             《WindowsclientC/C++编程规范“建议”——函数调用》
  4. 表达式和运算     《WindowsclientC/C++编程规范“建议”——表达式和运算》
  5. 结构                     《WindowsclientC/C++编程规范“建议”——结构》
  6. 宏                         《WindowsclientC/C++编程规范“建议”——宏》
  7. 文件                     《WindowsclientC/C++编程规范“建议”——文件》
  8. 变量和常量         《WindowsclientC/C++编程规范“建议”——变量和常量》
  9. 风格                     《WindowsclientC/C++编程规范“建议”——风格》

更新历史:

时间 内容 备注
2014.07.18 录入“建议”各项 初稿

WindowsclientC/C++编程规范“建议”——前言的更多相关文章

  1. WindowsclientC/C++编程规范“建议”——函数

    1 函数 1.1 代码行数控制在80行及以内 等级:[要求] 说明:每一个函数的代码行数控制应该控制在80行以内.假设超过这个限制函数内部逻辑一般能够拆分.假设试图超过这个标准.请列出理由. 但理由不 ...

  2. Windows客户端C/C++编程规范“建议”——风格

    本文来自:http://blog.csdn.net/breaksoftware/article/details/37935459 命名风格也非常适用于C# 9 风格 9.1 优先使用匈牙利命名法 等级 ...

  3. 51单片机C语言学习笔记8:单片机C51编程规范

    1.单片机C51编程规范- 前言  为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范. 2.单片机C51编程规范-范围 本标准规定了程序设计人员进行程序设计时必须遵循的规范.本 ...

  4. 华为C语言编程规范

    DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...

  5. 中兴软件编程规范C/C++

    Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003      软件编程规范C/C++                               20 ...

  6. JAVA 编程规范

       软件开发技术规范 PTHINK-DEVELOP-JAVA-091010         Java语言编程规范   2009-10-10发布                2009-10-11实施 ...

  7. FangDD Java编程规范

    我们采用<Oracle/Sun原生的Java编程规范>和<Google Java编程规范> Google Java编程风格指南 January 20, 2014 作者:Haws ...

  8. 国内大型的内部 C# 编程规范

    C#编程规范 改动记录 Ver. No 发版日期 编制人 批准人 改动的说明 目   录 1 1.1 1.2 2 2.1 2.1.1      Pascal 大写和小写 2.1.2      Came ...

  9. C++语言编程规范

    前言 这里参考了<高质量C++C 编程指南 林锐>.<google C++编程指南>以及<华为C++语言编程规范>编写了这份C++语言编程规范文档,以合理使用 C+ ...

随机推荐

  1. Qt入门-字符串类QString

    原地址:http://blog.csdn.net/xgbing/article/details/7770854 QString是Unicode字符的集合,它是Qt API中使用的字符串类. QStri ...

  2. Qt Creator键盘快捷键速查

    原地址:http://bbs.qter.org/forum.php?mod=viewthread&tid=904&extra=page%3D2 一般操作的键盘快捷键 操作 快捷键 操作 ...

  3. 国内使用Google Maps JavaScript API

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="ini ...

  4. uvc摄像头代码解析7

    13.uvc视频初始化 13.1 uvc数据流控制 struct uvc_streaming_control { __u16 bmHint; __u8 bFormatIndex; //视频格式索引 _ ...

  5. iOS学习——ViewController(六)

    ViewController是iOS应用程序中重要的部分,是应用程序数据和视图之间的重要桥梁,ViewController管理应用中的众多视图. iOS的SDK中提供很多原生ViewControlle ...

  6. try catch finally的执行顺序到底是怎样的?

    首先执行try,如果有异常执行catch,无论如何都会执行finally 一个函数中肯定会执行finally中的部分. 关于一个函数的执行过程是,当有return以后,函数就会把这个数据存储在某个位置 ...

  7. HDU4549 M斐波那契数

    M斐波那契数列 题目分析: M斐波那契数列F[n]是一种整数数列,它的定义例如以下: F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 ) 如今给 ...

  8. Hbase初体验

    搭建local模式搭建, 官网:http://hbase.apache.org API:http://hbase.apache.org/apidocs/index.html download:http ...

  9. Servlet:response生成图片验证码

    src 目录下com.xieyuan包MyServlet.java文件(Servlet文件) package com.xieyuan; import java.awt.Color; import ja ...

  10. Linux通配符摘要

    参考<鸟哥linux私房菜> * - 通配符,代表随机字符(0对于许多) ? - 通配符,它代表一个字符 # - 凝视 / - 跳转符号,将特殊字符或通配符还原成一般符号 | - 分隔两个 ...