代码规范
一、排版
1.程序块要采用缩进风格编写,缩进的空格数为4个
2.相对独立的程序块之间、变量说明之后必须加空行
3.不允许把多个短语句写在一行中,即一行只能写一条语句
4.if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加大括号{ }。
二、注释
1、单行注释: // 注释内容
2、多行注释:/* 注释内容 /
3、文档注释:/* 注释内容 */
4、每写完一个代码功能块,应该空出一行,表示这个代码块已经结束了,后面出现的代码是下一个代码功能块的,与本代码块无关,(不空行也没什么影响,只是空行会让人看起来很舒服)
5.内容要简单、明了、含义准确,防止注释的多义性,错误的注释不但无益反而有害
6.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。不再有用的注释要删除
7.避免在注释中使用缩写,特别是不常用缩写。说明:在使用缩写时或之前,应对缩写进行必要的说明
三、标识符命名
1.类名首字母大写,若类名由多个单词构成,每个单词首字母大写,即驼峰命名法
2.变量名、方法名首字母小写,若其由多个单词构成,每个单词首字母大写,即小驼峰命名法
3.常量名全部大写
4.尽量不要使用拼音 或者 英语掺杂拼音(如:StudentDianHua || MyHomeDiZhi 等)
5.命名风格要始终保持一致
四、可读性
1.注意运算符优先级,并用括号明确表达式的操作顺序,避免使用默认优先级
2.变量、方法等命名应有意义
3.避免使用不易理解的数字,用有意义的标识来替代
4.关系紧密的代码应尽可能相邻
5.不要使用难懂技巧高的语句,除非有必要
五、变量,结构
1.去掉没有必要的公共变量
2.仔细定义并明确公告变量的含义,作用,取值范围及公告变量之间的关系
3.防止局部变量与公共变量同名
4.当对公共变量传递数据时,要防止不合理的值和越界产生
六、函数,过程
1.对所调用的函数的错误返回码要仔细,全面的处理
2.明确函数功能
3.防止将函数的参数作为工作变量
4.一个函数仅完成一件功能
5.避免设计多参数函数,不使用的参数从接口中去掉(目的减少函数间接口的复杂度)
6.检查函数所有参数输入的有效性
7.函数的返回值要清楚、明了,让使用者不容易忽视错误情况
8.在调用函数填写参数时,应尽量减少没有必要的默认数据类型转换或强制数据类型转换
9.防止把没有关联的语句放到一个函数中
七、可测性
1.使用断言来发现软件问题,提高代码可测性
2.用断言来检查程序正常运行时不应发生但在调测时有可能发生的非法情况
3.不能用断言来检查最终产品肯定会出现且必须处理的错误情况
4.对较复杂的断言加上明确的注释,澄清断言含义并减少不必要的误用
八、程序效率
1.编程时要经常注意代码的效率
2.在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率
3.局部效率应为全局效率服务,不能因为提高局部效率而对全局效率造成影响
4.通过对系统数据结构的划分与组织的改进,以及对程序算法的优化来提高空间效率
5.对模块中函数的划分及组织方式进行分析、优化,改进模块中函数的组织结构,提高程序效率
6.不应花过多的时间拼命地提高调用不很频繁的函数代码效率
7.在保证程序质量的前提下,通过压缩代码量、去掉不必要代码以及减少不必要的局部和全局变量,来提高空间效率
九、质量保证
1.过程/ 函数中申请的(为打开文件而使用的)文件句柄,在过程/ 函数退出之前要关闭
2.系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用
3.严禁随意更改其它模块或系统的有关设置和配置
4.不能随意改变与其它模块的接口
5.有可能的话,if 语句尽量加上 else 分支,对没有 else 分支的语句要小心对待;switch 语句必须有 default 分支
6.使用变量时要注意其边界值的情况
7.对一些具有危险性的操作代码(如写硬盘、删数据等)要仔细考虑,防止对数据、硬件等的安全构成危害,以提高系统的安全性
十、代码编辑、编译、审查
1.某些语句经编译后产生告警,但如果你认为它是正确的,那么应通过某种手段去掉告警信息
2.使用代码检查工具对源程序检查
3.使用软件工具进行代码审查
十一、代码测试、维护
1..单元测试要求至少达到语句覆盖
2.单元测试开始要跟踪到每一条语句,并观察数据流及变量的变化
3.代码版本升级要经过严格测试
4.发现错误要立刻修改,并且记录下来
5.尽可能模拟出程序的各种出错情况,对出错处理代码进行充分的测试
6.仔细测试代码处理数据、变量的边界情况
7.对自动消失的错误进行分析,搞清楚错误试如何消失的
8.不应通过“试”来解决问题,应寻找问题的根本原因
9.修改错误不仅要治标,更要治本
10.坚持在编码截断就对代码进行彻底的单元测试,不要等以后的测试工作来发现问题
11.明确模块或函数处理哪些事件,并使他们经常发生
十二、宏
1.用宏定义表达式时,要使用完备的括号
2.将宏所定义的多条表达式放在大括号中
3.使用宏时,不允许参数发生变化
4.每个函数代码行不超过30行(包括注释和空行)
冲刺计划
一、任务计划
预期时间 |
预期计划安排 |
第一天 |
完成导航栏演示,主页布局功能设计 |
第二天 |
完成授权功能 |
第三天 |
完成学生信息绑定的页面功能 |
第四天 |
完成对个人信息界面的功能 |
第五天 |
对我的预约界面,违约记录,我的通知,联系管理员功能进行优化 |
第六天 |
对我的预约界面,违约记录,我的通知,联系管理员功能进行优化 |
第七天 |
对主页查看座位功能的座位分布图进行设计 |
第八天 |
对座位座位分布图中的预约功能进行完善 |
第九天 |
对预约完成后信息记录,页面跳转个人信息学界面的预约记录功能进行设计 |
第十天 |
测试完善 |