Longene项目代码规范.doc_第1页
Longene项目代码规范.doc_第2页
Longene项目代码规范.doc_第3页
Longene项目代码规范.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊关联度不是很高的语句之间,应插入空行适当地在语句中增加空格,主要在下面几个.凡修改自其他开源软件的函数,均须在函数定义之前,通过注释对原函数的来源作出.啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊Longene项目代码规范啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊Longene项目代码规范注意:l 请重点关注以下规范中加粗部分的约定l 有下划线部分的条款,为新加入的部分1 内核代码规范(以下规范适合于Longene项目中内核补丁及内核模块代码的编写):1.1 所有源代码的C文件中,修改部分的代码应包含在以标识兼容内核的预处理结构中(即部分修改的文件,预处理结构包含修改部分的代码;新建的源代码文件,预处理结构包含其中所有的代码),具体如下:1.1.1 内核补丁代码及内核模块代码中,使用宏CONFIG_UNIFIED_KERNEL,示例如下:#ifdef CONFIG_UNIFIED_KERNEL/* 修改部分的代码 */#endif1.2 C文件中,预处理结构的包含内容,以尽可能多地体现修改部分的代码为原则1.3 H文件中,一定要使用#ifndef / #define / #endif 定义,且对于头文件filename.h对应的宏表示为:_FILENAME_H示例:在头文件win32_thread.h中,该文件的所有代码,包括第1条中的预处理结构应包含在#ifndef _WIN32_THREAD_H#define _WIN32_THREAD_H与#endif之间1.4 关联度不是很高的语句之间,应插入空行1.5 适当地在语句中增加空格,主要在下面几个地方:1.5.1 关键字(if、for等)后面;1.5.2 二元操作符两边,具体如下:1.5.2.1 赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如=、+= =、=、+、*、%、/、&、|、这类操作符前后不加空格1.5.3 逗号和不在行末尾的分号后面;逗号、分号和右括号的前面,左括号后面不跟空格;一元操作符不加空格;1.6 使用tab对齐,在vim中推荐使用如下设置:set ts=8 sw=8 cin1.7 每行最多字符数不超过100个,包括tab所占字符数1.8 注释只出现在有必要的地方,且要清晰简洁,不引起误解,注释采用/* */的形式1.9 以开源代码为基础,对函数体、变量、数据类型等的修改,须在注释中加以说明1.10 函数的注释只需说明函数的功能及必要的注意事项,无需说明具体的实现原理和方式1.11 凡修改自其他开源软件的函数,均须在函数定义之前,通过注释对原函数的来源作出说明1.12 除函数开头的 “” 需要另起一行外,其他“ ”都跟在语句后面1.13 符号命名风格:1.13.1 内核补丁中的符号命名采用Linux编码风格,即小写字母、数字和下划线的组合1.13.2 内核模块中的符号命名方式具体如下:1.13.2.1 与Windows直接相关的系统调用接口、全局变量、数据类型等采用Windows风格,即单词或其缩写以大写字母开头1.13.2.2 函数体内部如无特殊情况,均采用Linux编码风格。1.14 模块代码文件顶端,应加入项目说明。对于新加入模块的文件,其具体做法如下:l 复制w32init.c(也可使用其他已有项目说明的源代码文件)顶端第一段注释至新加入的文件;l 将第2行的文件名修改为相应的文件名;2 其他代码规范(以下规范适合于Longene项目中其他代码的编写):2.1 符号命名风格:2.1.1 如代码来源于其他开源代码(如Wine、ReactOS),即采用原有的编码风格2.1.2 如修改Wine的代码,则采用所修改文件中其他代码的编码风格,如新增文件,则采用同目录下其他文件的编码风格2.1.3 其他情况参照第1.13.2条3 其他说明3.1 在保证履行上述约定的前提下,个人可根据习惯及喜好自行决定其它编码风格啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊Longene项目代码规范啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊关联度不是很高的语句之间,应插入空行适当地在语句中增加空格,主要在下面几个.凡修改自其他开源软件的函数,均须在函数定义之前,通过注释对原函数的来源作出.啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论