c语言编码规范

编码规范的作用主要有两点:一是好看,一是统一。相比较而言后者更重要。 
编码规范可以从四个方面来讨论:

1 空格与空行

  空格是横向的艺术,空行是竖向的艺术。

  • 关键字if,while,for与后面的括号加 空格,例如while(1),单括号内的表达式与括号不加空格。
  • 双目运算符两侧加空格,单目运算符不加。例如:i = i+1;  ++i;
  • 有些终端宽度是80列显示,所以为了兼容,一般列数超过80列,换行。
  • 不使用tab缩进, tab用两个空格代替。
  • 函数之间,全局变量,头文件引用等逻辑段落之间,加空行。
  • swith 与语句块额case default对齐。
  • 括号{},单独成行。
  • 函数里面如果代码较长,应该分组,并加空行。

2 注释

  单行注释用 // ,多行注释用

  • 整个源文件的顶部注释,文件名,作者,历史。
  • 函数注释,函数的功能,参数,返回值,错误码,写在函数的上面,不留空行。
  • 语句组的注释。
  • 单行右侧注释。
  • 复杂结构,宏定义的注释。

3 标识符命名

  • 命名要清晰明了,用完整的单词或者缩写。
  • 变量函数和类型用全小写加下划线的方式命名。常量用全大写加下划线命名。
  • 全局变量,与全局函数的命名一定要详细。

4 函数

  • 函数应该尽量简单,越简单越容易维护。
  • 一个函数只做一件事情。
  • 函数的内部缩进不要过多,最多不要超过4层。
  • 函数的局部变量超过10个也要考虑分割了。
  • 函数不要写的太长,超过50行,就考虑要分割了。
  • 函数名应该包括动词,一般函数都是标识一个动作。get_name,insert_row.

  

时间: 2024-12-21 07:08:39

c语言编码规范的相关文章

go语言编码规范

1.代码规范 类型 标识 例子 int i / I iCount.ICount bool b / B bShow.BShow string s / S sName.SName uint u / U uColor.UColor float f / F fPlace.FPlace pointer p / P *pName.*PName struct stc/Stc stcPerson.StcPerson array arr / Arr arrHero.ArrHero slice slc / Slc

Java编码规范(华为)

Document number 文档编号 Confidentiality level 密级 内部公开 Document version 文档版本 Total 29 pages 共 29 页 V1.00 Java语言编码规范 Prepared by 拟制 Date 日期 yyyy-mm-dd Reviewed by 评审人 Date 日期 yyyy-mm-dd Approved by 批准 Date 日期 yyyy-mm-dd Revision Record 修订记录 Date 日期 Revisi

华为C语言编程规范

DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有 侵权必究All rights reserved密级:confidentiality levelDKBA 2826-2011.52011-06-02 华为机密,未经许可不得扩散 Huawei Confidential 第2页,共61页Page 2 , Total61修订声明Revision

html编码规范

不久前接到老大下达的任务,要拟定一份公司前端编码规范的草稿,参考了各大公司的编码规范,结合现在公司的特点,整理出以下编码规范: html规范 1 文件相关 (1) 文件名以英文为主,可以使用下划线(如active.html),压缩包以项目名+日期的形式. (2) 统一使用utf-8编码. (3) css.js发布到线上都需要压缩. (4) 在追求高度优化的站点,需要对图片也进行无损压缩. 2 代码风格 2.1 命名 (1) 元素 id 必须保证页面唯一.(解释:同一个页面中,不同的元素包含相同的

C#语言开发规范-ching版

学习C#之初,始终不知道怎么命名比较好,很多时候无从命名,终于有一天我整理了一份命名规范文档,自此我就是按照这个命名规范书写代码,整洁度无可言表,拙劣之处请大家斧正,愚某虚心接受,如有雷同,不胜荣幸 C#语言开发规范 作者ching 1.  命名规范 a) 类 [规则1-1]使用Pascal规则命名类名,即首字母要大写. eg: Class Test { ... } [规则1-2]使用能够反映类功能的名词或名词短语命名类. [规则1-3]不要使用“I”.“C”.“_”等特定含义前缀. [规则1-

Bootstrap编码规范

黄金定律 永远遵循同一套编码规范 -- 可以是这里列出的,也可以是你自己总结的.如果你发现本规范中有任何错误,敬请指正.通过 open an issue on GitHub为本规范添加或贡献内容. 不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. HTML 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 嵌套元素应当缩进一次(即两个空格). 对于属性的定义,确保全部使用双引号,绝不要使用单引号. 不要在自闭合(self-clo

iOS:Cocoa编码规范 -[译]Coding Guidelines for Cocoa

--原文地址:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/FrameworkImpl.html Cocoa编码规范 --前言 用公共API开发一个Cocoa框架,插件,或其他可执行目标,里面的命名编写和规范不同于一般应用程序的开发.因为你开发出来东西是给开发者用的看的,并且他们不熟悉你的编程接口.这个时候API的命名约定就派上用场了,因为它使你的写

web项目开发 之 前端规范 --- JavaScript编码规范

JavaScript编码规范 此文严格按照W3C规范和部分实际项目可读性,浏览器加载,性能等众多属性权衡,做出平时前端编码规范文档.供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力. 场景:web前端开发中 一些Javascript的注意事项 和 规格建议: [参考百度资料 和个人一些总结] 1 前言 JavaScript 在百度一直有着广泛的应用,特别是在浏览器端的行为管理.本文档的目标是使 JavaScript 代码风格保持一致,容易被理解和被维护. 虽然本文档是针对 Java

C#编码规范-转

转自:原文 http://www.cnblogs.com/wulinfeng/archive/2012/08/31/2664720.html 1 规范目的 ……………………………………………………… 3 2 适用范围 ……………………………………………………… 3 3 代码注释 ……………………………………………………… 3 3.1 代码注释约定............................................ 3 3.2 模块头部注释规范.................