赵成的博客http://www.javashuo.com/article/p-pnkgsqhl-g.htmlhtml
2. 代码审查表:前端
a) 赵成的审查表java
序号git |
内容github |
完成度web |
1.概要部分数据库 |
||
1.1编程 |
代码符合需求和规格说明吗?设计模式 |
良好网络 |
1.2 |
代码设计是否考虑周全? |
否 |
1.3 |
代码可读性如何? |
良好 |
1.4 |
代码易于维护吗? |
良好 |
1.5 |
代码的每一行都执行并检查过了吗? |
是 |
2.设计规范部分 |
||
2.1 |
设计是否听从已知的设计模式或设计中经常使用的模式? |
B/S |
2.2 |
有没有硬编码或字符串/数字等存在? |
有 |
2.3 |
代码有没有依赖于某一平台,是否会影响未来的移植? |
否 |
2.4 |
开发者新写的代码可否用已有的Library/SDK/Framework 中的功能实现?在本项目中是否存在相似的功能能够调用而不用所有从新实现? |
|
2.5 |
有没有无用的代码能够清除? |
有 |
3.代码规范部分 |
||
3.1 |
修改的部分符合代码标准和风格么(详细条文略) |
符合 |
4. 具体代码部分 |
||
4.1 |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
已处理异常 |
4.2 |
参数传递有无错误? |
无 |
4.3 |
边界条件是如何处理的?switch 语句的default 分支是如何处理的?循环有没有可能出现死循环? |
|
4.5 |
有没有使用断言(Assert)来保证咱们认为不变的条件真的获得知足? |
无 |
4.6 |
有无可能存在资源泄漏(内存、文件、各类GUI 资源、数据库访问的链接,等等)?有没有优化的空间? |
有 |
4.7 |
数据结构中有没有用不到的元素? |
无 |
5.效能 |
|
|
5.1 |
代码的效能(Performance)如何? |
通常 |
5.2 |
代码中,特别是循环中是否有明显可优化的部分(C++中反复建立类、C#中 string的操做是否能用 StringBuilder 来优化)? |
有 |
5.3 |
对于系统和网络的调用是否会超时?如何处理? |
是 |
6.可读性 |
|
|
6.1 |
代码可读性如何?有没有足够的注释? |
良好 |
7.可测试性 |
|
|
7.1 |
代码是否须要更新或建立新的单元测试? |
否 |
b) 张于圣的审查表
序号 |
内容 |
完成度 |
1.概要部分 |
||
1.1 |
代码符合需求和规格说明吗? |
通常 |
1.2 |
代码设计是否考虑周全? |
否 |
1.3 |
代码可读性如何? |
通常 |
1.4 |
代码易于维护吗? |
通常 |
1.5 |
代码的每一行都执行并检查过了吗? |
是 |
2.设计规范部分 |
||
2.1 |
设计是否听从已知的设计模式或设计中经常使用的模式? |
B/S |
2.2 |
有没有硬编码或字符串/数字等存在? |
有 |
2.3 |
代码有没有依赖于某一平台,是否会影响未来的移植? |
否 |
2.4 |
开发者新写的代码可否用已有的Library/SDK/Framework 中的功能实现?在本项目中是否存在相似的功能能够调用而不用所有从新实现? |
|
2.5 |
有没有无用的代码能够清除? |
有 |
3.代码规范部分 |
||
3.1 |
修改的部分符合代码标准和风格么(详细条文略) |
符合 |
4. 具体代码部分 |
||
4.1 |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
|
4.2 |
参数传递有无错误? |
无 |
4.3 |
边界条件是如何处理的?switch 语句的default 分支是如何处理的?循环有没有可能出现死循环? |
|
4.5 |
有没有使用断言(Assert)来保证咱们认为不变的条件真的获得知足? |
无 |
4.6 |
有无可能存在资源泄漏(内存、文件、各类GUI 资源、数据库访问的链接,等等)?有没有优化的空间? |
有 |
4.7 |
数据结构中有没有用不到的元素? |
无 |
5.效能 |
|
|
5.1 |
代码的效能(Performance)如何? |
通常 |
5.2 |
代码中,特别是循环中是否有明显可优化的部分(C++中反复建立类、C#中 string的操做是否能用 StringBuilder 来优化)? |
有 |
5.3 |
对于系统和网络的调用是否会超时?如何处理? |
是 |
6.可读性 |
|
|
6.1 |
代码可读性如何?有没有足够的注释? |
通常 |
7.可测试性 |
|
|
7.1 |
代码是否须要更新或建立新的单元测试? |
否 |
3. 选取其中一个成员的项目为基础,进行结对编程。结对项目撰写的博客要求:
(3-1)代码编写基本规范(至少包括注释规范与变量命名规范)。
3.1.1:变量名规范
1.必须以字母、下划线、或者美圆符$开头;
①以美圆符$ 开头命名的变量虽然可以编译经过可是不建议使用;
②中文也能够做为命名开头且编译也能经过,可是不建议使用。
2.除开头外后面的部分能够有字母、下划线、美圆符$以及数字组成;
3.虽然变量名不限制长度,但能表达清楚命名的含义便可;
4.变量名不能够和java的关键字冲突;
3.1.2:注释规范
1.咱们能够选择使用//进行单行注释
2.咱们也可使用/* */进行多行注释
3.尽可能在项目的目录中添加ReadMe文件,将该项目的实现功能和具体需求进行记录
4.在代码的实现区域能够添加代码块的解释,方便使用的记录
(3-2)描述结对编程的感觉。
该次编程过程,咱们将代码实现所有更新,再也不从打印区进行输入和操做。全部前端操做在web实现,即新建javaweb项目,
不过没有使用MVC模式以及Spring框架。后期能够改进,咱们只是将生成四则运算的输入和选取操做放在了web页面,后台打
印输出生成的题目。在页面中能够选择生成的题目数量和最大、最小操做值,本身选择包含什么操做符。同时设置最大结果值,
咱们生成的操做值将小于您设置的数值。咱们在这次的结对编程中感觉到了双方的编码风格各有不一样,虽然双方的各有本身的
观点,可是在积极努力的配合下咱们的项目一点点成形,目前结对编程仍处于相互磨合阶段,但愿下次能够更快的进行项目的
实现以及促进结对编程的良好成果。
(3-3)结对场景照片
4. 结对项目编程要求:
新增需求:(a)考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。
(b)增大算式生成数的范围(如整数存不下的数),程序如何处理
github的链接地址:https://github.com/55Cheng/codeHouse