赵成的博客https://www.cnblogs.com/Zhaoe692/p/11724447.html
2. 代码审查表:
a) 赵成的审查表
序号 |
内容 |
完成度 |
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