零毫秒编码约定
零毫秒编码约定
概述
该约定规定了编写代码,和维护工程的格式
无论这里约定的格式是否是最好的,都请每个人务必遵守,因为格式的统一更加重要
如果发现这个约定有重大问题,请及时发起讨论,以便统一修改
本约定没有规定的内容,至少要在一个文件中保持一致,也就是说要和文件的创建者的风格保持一致
SVN
- 每一次提交,都必须注明修改了哪些内容,有什么意义,这个版本是否是可以运行的版本。如果对他人的代码做了修改,一定要注明修改原因
- SVN只存放源文件,编译好的文件以及编译中间文件不要上传
例如:
新增概述和通讯协议初稿
修正了概述的几处格式错误,对通讯协议和概述做了小幅修改
改一下目录结构(说实话我根本不知道默认这3个目录是干啥的),顺便建立了0.1的目录
为了发布出来给Abreto看一下
保存一下进度(无实际功能更新)
保存一下进度,SafeSQL还差最后两个函数:text和rx
保存进度,SafeSQL已经基本完成
LightPHP保存进度,大体定型,还有文档没编写
文档
- 文档采用纯文本或HTML格式,根据内容类型自行选择。注意编码务必是UTF-8(在Windows下创建时要注意)。HTML文件不要过于花哨,适用基本标签即可(可以参考我写的这几个HTML文件)
文件命名
扩展名:
(均为小写)
QT专有文件类型保持默认即可
| 文件类型 |
扩展名 |
备注 |
| 纯文本 |
.txt |
|
| HTML |
.html |
|
| 头文件 |
.h |
|
| C++源文件 |
.cpp |
|
| 脚本文件 |
.bat/.sh |
Windows/Linux |
| 动态链接库 |
.dll/.so |
Windows/Linux |
| 可执行文件 |
.exe |
(无视平台) |
C++类文件的头文件和实现文件均以类名命名,但均为小写
所有参与编译的文件务必为英文名(以兼容所有编译器)
注释
注意,这个是非常重要的内容!
- 文件头部保持空白,所有作者、修改者、修改内容等信息请通过svn查看
- 在类和函数的原型声明处简要注明用途,(如果有必要的话)在函数实现部分简要叙述思路
- 不要写没有用的注释!比如下面的,这明显是个废话
class Widget:public QWidget
{
//下面是构造函数
explicit Widget(QWidget *parent = 0);
...
- 所有十行以内的注释均用单行注释,以方便用多行注释临时注释大段代码
- 同一份注释只写在一个地方
- 注释写在要说明的语句或代码段之前
编码
- 所有标识符的命名必须适用有意义,易于理解的名字,但因为编译器的支持问题,只能使用英文
开发工具IDE
- 开发工具没限制,但是要注意上传的时候只上传源文件和项目配置文件(如QT的.pro和VS的.dsp),不要上传其他IDE专有的文件
版本
<主版本>.<次版本>.<修订号(顺序号)>-<日期> r<SVN版本号>
如:1.0.1-2011.9.30 r5
主版本和次版本从0开始计算,修订顺序号从1开始不间断计数,日期为发布日期,SVN版本号和SVN上的版本对应
有功能更新则按照更新幅度更改主版本或次版本,如果只是修复bug则只修订顺序号(无论如何,只要更新,修订顺序号都加一)
|