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

一、结对的成员对

1班张哲——1班尘超然

二、博客任务完成清单

1. 结对成员的博客链接

张哲的博客链接地址:☞☞☞☞点击此处即可进入☜☜☜☜

2. 代码互审表

a. 张哲的代码审查表(由尘超然完成)

类别 审查项 完成情况
概要部分 代码符合需求和规格说明么? 符合
代码设计是否考虑周全?
代码可读性如何? 相对比较清晰
有冗余的或重复的代码吗? 没有
代码的每一行都执行并检查过了吗?
设计规范部分 设计是否遵从已知的设计模式或项目中常用的模式?
有没有硬编码或字符串/数字等存在?
代码有没有依赖于某一平台?
有没有无用的代码可以清除?
代码规范部分 修改的部分符合代码标准和风格么? 符合
具体代码部分 数据结构中有没有用不到的元素?
对于调用的外部函数,是否检查了返回值
效能 代码的效能如何? 良好
循环中是否有明显可优化的部分?
可读性 代码可读性如何?有没有足够的注释? 可读性不错,有注释
可测试性 是否需要更新或创建新的单元测试 需要

 
 

b. 尘超然的代码审查表(由张哲完成)

类别 审查项 完成情况
概要部分 代码符合需求和规格说明么? 基本符合
代码设计是否考虑周全?
代码可读性如何? 良好
有冗余的或重复的代码吗? 没有
代码的每一行都执行并检查过了吗?
设计规范部分 设计是否遵从已知的设计模式或项目中常用的模式?
有没有硬编码或字符串/数字等存在?
代码有没有依赖于某一平台?
有没有无用的代码可以清除?
代码规范部分 修改的部分符合代码标准和风格么? 基本符合
具体代码部分 数据结构中有没有用不到的元素?
对于调用的外部函数,是否检查了返回值
效能 代码的效能如何? 良好
循环中是否有明显可优化的部分?
可读性 代码可读性如何?有没有足够的注释? 可读性良好
可测试性 是否需要更新或创建新的单元测试 需要

三、选取其中一个成员的项目为基础,进行结对编程

1. 代码编写基本规范(两人共同遵守)

  • 缩进:使用4个空格作为缩进单位,或将TAB键的占位符设置为4。

  • 简单语句:每行最多包含一条语句。

  • 复合语句:左大括号应该位于起始行的末尾,右大括号应另起一行并与复合语句首行对齐。

  • 块语句:if,else,while,for语句必须有{},空格。{可以在if,else,while,for之后,}在一行之头。

  • 类:以大写字母开头,如果有多个单词,每个单词头字母大写。

  • 类变量命名:变量名首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写,单词与单词之间不要使用_做连接。

  • 常量命名:所有字母大写,如果有多个单词组成,单词与单词之间以_隔开。

  • 方法命名:首字母必须小写,如果该变量名有多个单词组成,后面的单词首字母大写,单词与单词之间不要使用_做连接。单词不要使用名词。

  • 注释规范:

    • 一个.java文件最好不要超过1000行。

    • 无用的空行和代码都要删除。

    • 类的注释:类的注释必须写在该类的声明语法之前。在注释中要描述该类的基本作用,作者,日期,版本,com,版权声明。

    /**
    
    *类功能描述:(大致描述类的功能)
    
    *@author:编写者名称
    
    *@version: 类文件的版本号从1.0开始(自己确定版本号的增改情况), 修改情况(修改时间、作者、改动情况)
    
    */
    
    • 变量、常量注释:

    /**
    
    *变量功能描述:(大致描述变量的功能)
    
    */
    
    • 方法注释:方法注释必须写在方法定义之前。

    /**
    
    *方法功能说明
    
    */
    

 

2. 描述结对编程的感受

a. 认真对待

  我们认为,结对编程与个人编程一个最明显的不同就体现在心理差异上。因为结对编程是两个人的事情,不论是担任驾驶员还是领航员的角色,都需要对程序设计和实现有足够的准备,否则很容易变成一个人写代码,另一个人无所事事。以我们的经历为例,在未开发前,我们提前一天把以前写过的代码又读了一遍,以便能够充分掌握程序的编写思路,以便能够熟练对代码进行改进。因为是两个人共同完成,所以我们会比平时更严格地要求自己。

  开发过程中,要打起十二分精神,两个人紧密配合,谁也不好意思开小差,能够集中注意力在代码上。

b. 提高效率

  结对编程的形式使得代码处于不断地审查过程,每一段代码都由一个人编写,另一个人检查,最大程度上减少了出现bug的可能;两人互相交流,商讨实现方式,遇到问题时,能够做到互补,减少了搜索的时间,提高了效率。
  在测试过程中,因为有两个人共同调试,所以能够更快的发现问题所在。

c. 互相学习

  结对编程也是一个互相学习的过程。在结对编程过程中,两人会不断就实现方法、代码风格或命名方法等进行讨论,两个人的思路能够进行互补,在编写过程中能够学到对方解决问题的思路和方法,对于提高自己解决问题和编程能力有很大的帮助。

3. 结对场景照片

4. 项目设计说明

a. 功能设计

  • 题目数量可任意定制
  • 二则运算和四则运算可选
  • 操作数范围可控
  • 包含正负数可选
  • 重复算式可过滤
  • 负数加括号
  • 答案是否需要打印
  • 考虑数据异常处理问题
  • 增大算式生成数的范围

b. 功能设计

  • 本次程序设计只用到一个主类,其中包含了主方法和其他方法共同实现程序的相关功能。
    • 判断是否需要负数的方法
    • 判断是否需要包含乘除的方法
    • 获取随机数的方法
    • 获取算式得数的方法
    • 负数加括号的方法
    • 主方法

项目的github地址:☞☞☞☞点击此处即可进入☜☜☜☜

posted @ 2019-10-21 21:14  驯风  阅读(168)  评论(0编辑  收藏  举报