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

天涯浪子 提交于 2019-12-01 19:46:30

一、结对成员博客链接地址

田宇航同学的博客地址:

二、代码复审核查表

 

内容

孙殿玮

田宇航

1.概要部分

1)代码符合需求和规格说明么?

符合

符合

2)代码设计是否考虑周全?

3)代码可读性如何

可读性高,有足够注释

可读性高,逻辑清晰

4)代码容易维护么?

代码自上而下写法有助于后期的维护

易维护

5)代码的每一行都执行并检查过了吗?

2.设计规范部分

1)设计是否遵从已知的设计模式或项目中常用的模式

2)有没有硬编码或字符串或数字等存在?

3)代码有没有依赖于某平台,是否会影响将来的移植(如Win32到Win64)?

没有依赖平台

 

没有依赖平台

 

4)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?

是否存在类似的功能可以调用而不用全部重新实现?

没有

 

没有

 

5)有没有无用的代码可以清除? (很多人想保留尽可能多的代码, 因为以后可能会用上,

这样导致程序文件中有很多注释掉的代码,这些代码都可以删除,因为源代码控制已经保存了原来的老代码。

没有

没有

3.代码规范部分

修改的部分符合代码标准和风格么(详细条文略) ?

符合

符合

4.具体代码部分

1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?

有对错误进行处理并处理了异常

有对错误进行处理,检查了返回值

2)参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单1双字节)的长度,

是以0开始计数还是以1开始计数?

无错误

从0开始

无;从0开始

3)边界条件是如何处理的? switch 语句的default分支是如何处理的?循环有没有可能出现死循环?

开始时就先指定边界条件;

当没有default分支时,如果没有满足条件的case,直接结束switch;

不会出现死循环。

先确定边界条件是什么,没有default分支时,无满足条件语句直接跳出switch语句,不会出现死循环。

4)有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足?

没有

没有

5)对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存、文件、

各种GUI资源、数据库访问的连接,等等) ?有没有优化的空间?

申请全局变量,在程序运行完后释放掉;无动态申请资源的地方,资源全部限制在函数或者类的局部范围之内不会出现资源泄露的情况。

申请全局变量,在程序运行完后释放掉;

有限次申请,所以可能不会导致资源泄露。

6)数据结构中有没有用不到的元素?

无无用元素

没有无用元素

5.效能

1)代码的效能( Performance )如何?

效能较好

 

效能较好

 

2)代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中string的操作是否能StringBuilder来优化) ?

3)对于系统和网络的调用是否会超时?如何处理?

没有相关调用

6.可读性

代码可读性如何,是否有注释

可读性高,有足够注释

可读性高,有足够注释

7.可测试性

代码是否需要更新或创建新的单元测试?

 

 

 

 

三、代码编写基本规范

1、基本要求

行宽尽量不要超过五十个字数限制。

2、命名规范

(1).类命名:首字母大写,每个单词首字母大写(大驼峰命名法),尽量使用能够反映类功能的名词短语,例:UserManage ,UserData等。

(2).方法名:首字母小写,剩余的每个单词的首字母大写(小驼峰命名法)。

(3).变量名:首字母小写,之后每个单词首字母都大写,具有足够的说明性,成员变量不需要添加“_”前缀,成员变量添加“_”前缀。

3、注释要求

注释要放在类头,并且注释要随着程序的修改而不断更新。

4、方法函数要求

(1).一个函数必须限制在50行左右

(2).每个函数的职责都应该划分的很明确。

5、核心原则

(1).代码格式简洁,逻辑清晰。

(2).因为双方都是由c语言转成java语言,优先保证基本功能实现。

(3).优先保证程序的正确性。

 四、结对编程的感受

优点:

1.结对编程可以互相鼓励,互相激励。

2.互相监督,不容易懈怠。

3.互相学习编程能力,遇到不会的地方或错误的地方对方可以及时帮助。

缺点

1.两个人想的不同的时候容易产生分歧,影响效率。

2.写代码习惯不一样,容易产生有的地方看不懂的情况。

综上所述,结对编程优点还是多于缺点,是个很好的锻炼方法。

五、结对场景照片

 

 

 

六、项目设计说明

1.设计目标

 通过java语言编写能够完成四则运算的各个功能。

2.设计流程

  (1).分析四则运算需要完成的功能

  (2).考虑用户输入异常处理

  (3).编码实现各个功能

七、Github链接地址

github链接地址:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!