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

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

结对成员链接地址

李禹澄 的博客地址

代码审核表

李禹澄的代码审核表

  1. 概要部分

    问题 结果
    代码符合需求和规格说明吗
    删除重复 没有完成
    结果存储到本地 完成
    运算数为负数 完成
    控制参数 完成
    乘除法 完成
    特殊功能 没有完成
    代码设计是否考虑周全
    代码设计 设计性差,全部代码都在 main 中完成,有很多的重复代码
    是否使用了函数
    是否使用了类
    是否使用了设计模式
    代码可读性
    可读性
    注释 包含注释
    缩进 部分缩进有问题
    java doc
    代码容易维护吗 不容易维护
    维护性 维护性差,在一个函数main 中完成,在一个函数中有太多的ifswitch 语句了
    代码的执行
    代码覆盖率 100%
    代码错误情况
    面对错误输入的处理
    输入错误数据类型 会抛出异常,导致程序退出
    输入错误字符
    资源是否释放
    Scanner 未释放
    PrintStream 未释放
  2. 设计规范部分

    问题 结果
    是否遵从已知的设计模式或者项目中常用的模式
    硬编码或者字符串、数字存在
    依赖平台
    移植 不影响
    可以使用框架的功能来实现
    无用的代码 是,有一些无用的变量
  3. 代码规范部分

    问题 结果
    代码是否符合规范 基本不符合规范,有一些变量名如t i
  4. 具体代码部分

    问题 结果
    是否对错误进行处理
    检查或者处理异常
    参数传递有误
    边界条件 没有问题
    是否使用了断言(assert)
    资源是否释放 未释放
    数据结构中是否有用不到的元素
  5. 效能

    问题 结果
    代码的性能 性能好,O(0)
    最坏的情况的性能 O(0)
    是否有可优化的部分 重复代码放到函数或者类中
    对于系统和网络的调用是否会超时
  6. 可读性

    问题 结果
    可读性 全部内容都在主函数,可读性不高
    注释 含有注释
  7. 可测试性

    问题 结果
    是否需要更新或者创建新的单元测试

付正印的代码审核表

  1. 概要部分

    需求 结果
    代码符合需求和规格说明吗
    删除重复 完成
    结果存储到本地 完成
    运算数为负数 完成
    控制参数 完成
    乘除法 完成
    特殊功能 完成
    代码设计是否考虑周全
    代码设计 设计性好,便于维护
    是否使用了函数
    是否使用了类
    是否使用了设计模式
    代码可读性
    可读性 良好,包含注释,命名有一定规范
    注释
    缩进
    java doc
    代码容易维护吗
    维护性 维护性好,主要功能都使用了类和设计模式。但是主客户端的ifelse-if 语句过多导致主客户端不便于维护,是主要的修复点
    代码的执行
    代码覆盖率 100%
    代码错误情况
    面对错误输入的处理
    输入错误数据类型 会抛出异常,导致程序退出
    输入错误字符 会整体退出程序,使用不方便
    资源是否释放
    Scanner 完成释放
    FileWriter 完成释放
  2. 设计规范部分

    问题 结果
    是否遵从已知的设计模式或者项目中常用的模式 是,使用了单例模式,简单工厂模式
    硬编码或者字符串、数字存在
    依赖平台
    移植 不影响
    可以使用框架的功能来实现功能
    无用的代码 是,有一些无用的空构造函数
  3. 代码规范部分

    问题 结果
    代码是否符合规范 基本符合规范
  4. 具体代码部分

    问题 结果
    是否对错误进行处理 是,但是没有处理完全
    检查或者处理异常 是,但是在读取整型时没有捕获异常
    参数传递有误
    边界条件 没有问题
    是否使用了断言(assert)
    资源是否释放 完成释放
    数据结构中是否有用不到的元素 否,没有用不到的元素
  5. 效能

    问题 结果
    代码的性能 代码性能好,O(0)
    最坏的情况的性能 O(0)
    是否有可优化的部分 有太多的if 嵌套
    对于系统和网络的调用是否会超时 无,不涉及此类型
  6. 可读性

    问题 结果
    可读性 采用设计模式的内容可读性高,主客户端的可读性低
    注释 含有注释
  7. 可测试性

    问题 结果
    是否需要更新或者创建新的单元测试

结对编程

选择付正印的项目

  1. 代码编写规范

    类型 规范
    变量 第一个单词小写,后面的单词首字母大写
    常量 单词全部小写,中间使用下划线链接(全部大写,不便于阅读)
    注释 字段以及语句的注释在当前行右面;函数的注释使用java doc 注释;流程的注释在if 等的右边
    设计 尽量使用设计模式
    流程控制 减少while 和 if 的嵌套
    资源控制 用过的资源要及时释放
    单元测试 需要添加单元测试
  2. 结对编程的感受

    通过结对编程可以互相讨论,可能想法不一样,但是只要能够良好沟通,最后达成统一,会很便于后面的合作的。

  3. 场景图片
    第四次博客作业-结对项目_第1张图片

结对编程的结果

GitHub 的地址

修改的内容

  1. 减少主客户端的ifwhile 的嵌套,减少else-if 的使用,将生成结果的while 移出来,减少复杂度

  2. 在需要输入数字时,采用读取字符串的方式,然后判断是否是数字,如果是转换类型为数字,如果输入的是错误字符,通过 while 来重新输入。

  3. 输入字符的位置使用了while 包起来,这样,输入错误字符时会要求重新输入,直到输入正确的或者退出。

  4. 在需要输入数字过大,导致结果超出范围,通过 try{}catch(){} 捕获异常,然后抛弃此次结果,重新计算(属于更新的需求)。

  5. 部分内容(比如文件输出的部分)放到独立的函数中(属于更新的需求)。

你可能感兴趣的:(第四次博客作业-结对项目)