第四次博客作业-结对项目
赵成的博客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
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号