第四次博客作业-结对项目

一、任务1

结对的成员对:192401宝乐----192401庄浩玉玺

二、任务2

2.1结对成员的博客链接地址

https://www.cnblogs.com/yuxi111/p/11724214.html

2.2结对成员对四则运算项目代码互审与代码审查结果表

1、宝乐代码审查结果表

 宝乐代码审查结果表
概要部分 (1)代码是否符合需求和规格?  符合,所列需求全部实现 
(2)代码设计是否考虑周全?  部分周全,如没有对异常进行处理
(3)代码可读性如何?  简洁易懂,不存在二义性
(4)代码容易维护么?  后期维护较困难
(5)代码的每一行都执行并检查过了吗?  全部检查完毕
设计规范部分 (1)设计是否遵从已知的设计模式或项目中常用的模式?  遵循
(2)有没有硬编码或字符串/数字等存在?  不存在
(3)代码有没有依赖于某一平台,是否会影响将来的移植?  没有出现此情况
(4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?  没有使用去检验功能是否能实现;因代码没有进行封装,所以不可调用实现
(5)有没有无用的代码可以清除?  没有出现无用代码
代码规范部分 修改的部分符合代码标准和风格么?  变量、方法命名规则是驼峰命名法。编程风格采用的是Kernighan风格
具体代码部分 (1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?  有对错误进行处理的功能;对外部函数没有检查返回值或处理了异常
(2)参数传递有无错误,字符串的长度的字节的长度还是字符的长度,是以0开始计数还是还是以1开始计数?  默认以0开始计数
(3)边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环?  该程序的分支运用的是if-elss实现的;循环没有出现死循环
(4)有没有使用断言(Assert)来保证我i们认为不变的条件真的得到满足?  没有实现断言
(5)对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存,文件,各种GUI资源,数据库访问的连接,等等)?有没有优化的空间?  可能存在资源泄露,并没有优化空间
(6)数据结构中有没有用到的元素?  进行重复检验运用到栈
效能 (1)代码的效能如何?最坏的情况是怎样?  效能不错,时间复杂度 T=O(n)),最坏情况也是O(n)
(2)代码中,特别是循环中是否有明显可优化的部分?  没有明显的优化部分
(3)对于系统和网络的调用是否会超时?如何处理?  没有出现超时
可读性 代码可读性如何?有没有足够的注释?  简洁易懂,注释合格
可测试性 代码是否需要更新或创建新的单元测试?  需要

 2、庄浩玉玺代码审查结果表

 庄浩玉玺代码审查结果表
概要部分 (1)代码是否符合需求和规格?  符合,所列需求全部实现 
(2)代码设计是否考虑周全?  部分周全,如没有对异常进行处理
(3)代码可读性如何?  简洁易懂,不存在二义性
(4)代码容易维护么?  后期维护较困难
(5)代码的每一行都执行并检查过了吗?  全部检查完毕
设计规范部分 (1)设计是否遵从已知的设计模式或项目中常用的模式?  遵循
(2)有没有硬编码或字符串/数字等存在?  不存在
(3)代码有没有依赖于某一平台,是否会影响将来的移植?  没有出现此情况
(4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?  没有使用去检验功能是否能实现;因代码没有进行封装,所以不可调用实现
(5)有没有无用的代码可以清除?  没有出现无用代码
代码规范部分 修改的部分符合代码标准和风格么?  变量、方法命名规则是驼峰命名法。编程风格采用的是Kernighan风格
具体代码部分 (1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?  有对错误进行处理的功能;对外部函数没有检查返回值或处理了异常
(2)参数传递有无错误,字符串的长度的字节的长度还是字符的长度,是以0开始计数还是还是以1开始计数?  默认以0开始计数
(3)边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环?  该程序的分支运用的是if-elss实现的;循环没有出现死循环
(4)有没有使用断言(Assert)来保证我i们认为不变的条件真的得到满足?  没有实现断言
(5)对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存,文件,各种GUI资源,数据库访问的连接,等等)?有没有优化的空间?  可能存在资源泄露,并没有优化空间
(6)数据结构中有没有用到的元素?  进行重复检验运用到栈
效能 (1)代码的效能如何?最坏的情况是怎样?  效能不错,时间复杂度 T=O(n)),最坏情况也是O(n)
(2)代码中,特别是循环中是否有明显可优化的部分?  没有明显的优化部分
(3)对于系统和网络的调用是否会超时?如何处理?  没有出现超时
可读性 代码可读性如何?有没有足够的注释?  简洁易懂,注释合格
可测试性 代码是否需要更新或创建新的单元测试?  需要

 

2.3选取其中一个成员的项目为基础,进行结对编程。结对项目撰写的博客要求

2.3.1结合课堂讲授内容,制订一份2人共同遵守的代码编写基本规范(至少包括注释规范与变量命名规范)

1.类名采用大驼峰的命名形式,所谓大驼峰就是首字母大写,例如UpperCameCase。而出现抽象类命名使用 Abstract 或 Base 开头;异常类使用 Exception 结尾;测试类命名以测试的类名开始,以 Test 结尾。

2.包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。一般单词使用单数形式,类名如果有复数含义的话,则可以使用复数形式。

3.全局常量和类内常量的命名采用字母全部大写,单词之间加下画线的方式。(所谓全局常量指的是类的公开静态属性,使用 public static final 修饰;类内常量指的是私有静态属性,使用 private static final 修饰)

4.局部常量则采用小驼峰的形式。(所谓局部常量指的是方法内的常量)

5.可变变量常用小驼峰的命名形式,如 myName 。

6.空格方面

    • 二目、三目运算符的左右两边都应该加一个空格。
    • 注释的双斜线与注释内容之间有且仅有一个空格。
    • 方法参数在定义和传入参数时,多个参数逗号后边都应该加空格。
    • 如果大括号为空,则简洁地写成{}即可,大括号中间无须换行和加空格。
    • 左右小括号与括号内部的相邻字符之间不要出现空格。
    • 左大括号前需要加空格。

7.缩进使用一个缩进的距离等于四个空格的距离。

8.控制语句

    • 在 if, for, while, do-while 等语句中必须使用大括号,即使只有一行代码,也加上大括号。
    • 在条件表达式中不允许出现赋值操作,也不允许在判断表达式中出现复杂的所及组合。
    • 多层嵌套不能超过三层。

9.注释

    • 注释需要写的简明易懂。特别是方法的参数,以及返回值。
    • 每一次修改时,相应的注释也应进行同步更新。
    • 在类,接口,方法中,使用/** */javadoc注释。方法代码中如果有顺序之分,最好将代码也加上序号,如1,2,3等。

2.3.2描述结对编程的感受

 

    • 在编程过程中可以互相帮助,互相教对方,得到了能力上的互补。
    • 可以让编程环境有效地贯彻到设计。
    • 编码过程中及时发现问题,增强代码和产品质量,并有效的减少BUG。
    • 在编程中,相互讨论,可能更快更有效地解决问题。
    • 但是有时候,我们也会对一个问题各执己见(比如命名问题,实现方法等),争吵不休,反而浪费不少时间。

2.3.3结对场景照片

 

2.4结对项目编程要求

2.4.1GitHub链接

 https://github.com/BabyHappy1/jisuan

2.4.2增加的需求

1.考虑数据异常处理问题,如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序如何处理。

2.增大算式生成数的范围(如整数存不下的数),程序如何处理。

posted @ 2019-10-24 11:40  Baby-Happy  阅读(144)  评论(0编辑  收藏  举报