ATAQQ即时通讯系统编码规范new.doc

上传人:bao****ty 文档编号:144608963 上传时间:2020-09-11 格式:DOC 页数:11 大小:121.34KB
返回 下载 相关 举报
ATAQQ即时通讯系统编码规范new.doc_第1页
第1页 / 共11页
ATAQQ即时通讯系统编码规范new.doc_第2页
第2页 / 共11页
ATAQQ即时通讯系统编码规范new.doc_第3页
第3页 / 共11页
ATAQQ即时通讯系统编码规范new.doc_第4页
第4页 / 共11页
ATAQQ即时通讯系统编码规范new.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《ATAQQ即时通讯系统编码规范new.doc》由会员分享,可在线阅读,更多相关《ATAQQ即时通讯系统编码规范new.doc(11页珍藏版)》请在金锄头文库上搜索。

1、ATAQQ即时通讯系统编码规范Version1.0目录1. 规范目标32具体注意事项32.1、命名原则32.2、变量的命名32.3、函数的命名32.4、类命名32.5、控件命名规则42.6、文件命名42.7、参数的命名53. 代码格式书写规范53.1、代码书写格式53.2、注释的写法63.3、其他74. 代码组织75. 调试技巧85.1 编译时的错误85.2 运行时的错误85.3 C#常见问题8附录91. 规范目标(1)安全代码完成所需的功能之余,还要增加开发过程代码的强壮性,即要稳定可靠。(2)易读类,实例,成员变量,成员函数的命名一目了然(3)美观尽量统一项目组内人员的编程风格,保证一致性

2、,统一性。2具体注意事项2.1、命名原则(1)所有的函数(变量/类/文件名)应该代表其实际的作用。应该使用具有意义的单词或多个词组合,但不要使用人名,项目组名。(2)所有的函数(变量/类名)一律使用英文。(3)使用多个单词时不需要使用连线(如下划线)(4)多个词组合较长时,可以使用单词的缩写。(5)不得使用非常相近的名字类表示几个不同含义的函数(变量/类)。(6)命名时请考虑名字的唯一性和含义的准确性。(7)命名采用三种格式,Pascal(大小写),Camel(大小写混合),首字母全部大写格式如:Id2.2、变量的命名(1)变量名一般由前缀+类型修饰+代表变量含意的英文单词或单词缩写等部分组成

3、。如:*前缀(以下划线分割):t_:表示线程的全局变量。如:t_nCountm_:表示类成员变量(包含类表态变量)如:m_dwFlags_ 局部变量以”_”开头,如 _userName*主体使用一个或多个单词表示变量代表的确切含义,参见下面的大小写规则。*类型修饰(小写字母):nlsufbbychszstrdouintlongshortuintfloatboolbytecharcharStringdouble (2)针对异常捕获过程中的Exception变量命名,在没有冲突的情况下,统一命名为 e;2.3、函数的命名(1)使用动宾词组表达函数所做的事。命名采用Pascal形式如:ShowUse

4、rInfo(),BoundGridView()等(2)同名的函数(重载函数)在功能上应该完全相同,在参数上的差别也应一目了然。(3)不得出现名字非常相近但功能不赋的函数。如:CreatePage1(),CreatePage2()等。2.4、类命名(1)名字应该能够标识事物的特性。如Public class Employee()(2)名字尽量不使用缩写,除非它是众所周知的。(3)名字可以有两个或三个以上单词组成,但通常不应多于三个。(4)在名字中,所有单词第一个字母都大写。缩写都要大写。(5)不要使用下划线连接符(_)。如:public classs EmployeeComputeSalary

5、即采用Pascal大小写形式。2.5、控件命名规则控件类型控件缩写标准命名举例LabellbllblMessageLinkLabellnklbllnklblTodayButtonbtnbtnSaveTextBoxtxttxtNameMainMenummnummnuFileCheckBoxchkchkStockRadioButtonrbtnrbtnSelectedGroupBoxgbxgbxMainPictureBoxpicpicImagePanelpnlpnlBodyDataGriddgdgViewListBoxlstlstProductsCheckedListBoxclstclstCheck

6、edComboBoxcmbcmbMenuListViewlvwlvwBrowserTreeViewtvtvwTypeTabControltctltctlSelectedDateTimePickerdtpdtpStartDateHscrollBarhsbhsbImageVscrollBarvsbvsbImageTimerTmrtmrCountImageListimglstilstImageToolBartlbtlbManageStatusBarstbstbFootPrintOpenFileDialogodlgodlgFileSaveFileDialogsdlgsdlgSaveFoldBrowse

7、rDialogfbdlgfgdlgBrowserFontDialogfdlgfdlgFootColorDialogcdlgcdlgColorPrintDialogpdlgpdlgPrint2.6、文件命名(1)文件命名要具有实际意义。(2)源文件应尽量使用命名规范,文件名只能包含字母,数字和下划线,不得使用其他的字母,超长的文件名应使用缩写方式减少文件名的长度,建议使用如下的缩写的规则(部分情况可以历例外,视具体情况而定);*缩写一般可以去掉无意字母以及不发间字母。*单词的首字母一般应该保留。*当一个单词必须编写成一个字母时,应该选用最有代表性的字母或首字母。*多音节的单词可以去掉后面的音节而

8、只保留有意义的音节。(3)当单词数量少,字母少时不需要缩写词。(4)临时文件必须调用系统函数生成,禁止使用固定文件名,一般情况下,临时文件应在系统临时目录下(通过系统函数取到临时目录名)生成。2.7、参数的命名一般要采用大小写混合格式。如protect bool login(string userName,string userPass)3.代码格式书写规范3.1、代码书写格式(1)所有的缩进TAB键为4个空格,每个单词的首字符大写,其余小写。(2)在代码中垂直对齐左括号和右括号。例:if(x=0)Response。Write(用户名必须输入!);不允许以下情况:if(x=0)Response

9、。Write(用户名必须输入!);或者 if(x=0)Response。Write(用户名必须输入!);(3)在大多数运算符之前和之后使用空格,这样做时不会改变代码的的意图却可以使代码容易阅读。例:int j = i + k;而不应写为:int j=i+k;(4)缩写SQL语句时,对于关键字使用全部大写,对于数据库元素(如表,列和视图)使用大小写混合)。(5)将每个主要的SQL子句放在不同的行上,这样更容易阅读和编辑语句。如下表所示:语句提倡的风格ifif(condition)statements;elsestatements;forfor(initialization; condition;

10、 update)statements;foreachforeach(something in collection)statements;switchswitch()case .:break;case :break;default:whilewhile(.)statements;do-whiledostatements;while(condition);try-catchtrystatements;catch(Exception e)handle exception;同一代码块内的不同逻辑块之间应空一行do statement1;do statement2;函数与函数之间至少空一行,但不超三行

11、3.2、注释的写法(1)在你劳神的地方请加上详细的注释说明,除了最简单的存取成员变量的Set/Get成员函数之外,其余大部分的函数写上注释是良好的习惯,尽量使你的程序让别人很容易看懂。(2)大多的注释会使很难看,但一些复杂的算法和数据结构和数据结构处还是要加上注释的,这样别人就容易看懂,否则时间长了,你自己都未必卸载明白了。(3)如果是对某一段程序(算法/结构)的注释,在程序头直接用/再空一格进行说明,一行不要超过80个字符。(4)为了防止在阅读代码时不得不左右流动源代码编辑器,每行代码或注释在不得超过一显示屏。(5)使用连续的多个/表示注释行(不要超过80字符)。(6)文件头部应有注释,简单

12、描述文件的内容(7)对于程序中的比较关键的算法和函数,必须加注释。3.3、其他 (1)float和bool禁止用=判断。bool应该用逻辑运算关系符,而float应该用差值区间来判断相等;(2)类型转换一律用显示类型转换(3)当声明一个变量时,务必要自已初始化一下变量;(4)功能单一,函数名要名符其实。(5)要易懂,实现时要根过分追求技巧,优化放到后面去做。(6)长度一般禁止超过200行。(7)要检查输入值是否合法,实现(成员)函数时务必要求输入参数是在要求范围之内,尤其你定义的(成员)函数给别人调用时,要判断其合法性。(8)调用函数时要严格按照接口规范调用,调用后要判断执行情况,并做适当的错

13、误处理(尔后会给出错误和异常处理规范)(9)尽量避免整块复制代码段,如果出现这样的情况要分析原因,如果这段代码完成独立的功能,应考虑使用函数,否则,应考虑使用宏定义,否则因为修改引起的不一致往往是错误的根源。(10)写代码时,尽量减少堆的分配次数,能使用Stack的尽量使用Stack(11)函数编写必须精练,消除冗余的代码,删除不用的变量(12)if/while等语句中和条件表达式的运算结果必须为显示的Bool量(13)禁止使用goto语句4.代码组织代码组织是对整个项目的代码进行整理,使之更加有序。实现类似功能的文件应该放在同一个文件夹中或者同一个项目中。例如,可把整个项目分为以下几个层次:l SystemFramework层提供一些给其他公用的服务,比如说系统日志、应用程序配置、异常处理、调试类等读取Web.config和*.exe.config一般都在这一层。l Common层把逻辑上的tables抽象成一些类,这些类一般从DataSet继承,生成一些strong typed Dataset,类中不涉及任何数据库操作。l DataAccess层这一层的类负责与数据库的连接,以Common层对象为媒介读取、更新、添加、删除数据库对象。为Bussiness层提供数据服务。l Bussiness Logic 层如果需要的话可以分为以下两层,也可以合

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号