软件工程第四次作业—结对项目

一、提供你的结对成员的博客链接地址

三班贾福巍博客链接:www.cnblogs.com/jwwy/p/11726428.html

二、代码互审表

 

互查内容

张文博

贾福巍

 

 

 

 

1.概要部分

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

符合

符合

代码设计是否考虑周全?

代码未满足全部需求,考虑不周全,没有考虑用户的非法输入。

 

代码满足需求,每个功能都能用类实现,但是考虑不周全,没有考虑用户的非法输入。

代码可读性如何?

简单易读

代码可读性较差

代码容易维护么?

容易

不容易维护,所有的功能都是在同一个类中完成。

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

每行代码均能执行

每行代码均执行

 

 

 

2.设计规范部分

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

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

没有硬编码,字符串或数字等存在

没有硬编码,字符串或数字等存在

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

不依赖平台,不影响移植

代码用Java编写,没有依赖某一特定的平台,不影响移植   

开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?是否存在类似的功能可以调用而不用全部重新实现?

代码中用到了其他包中现有的类,不用全部重新实现。

有没有无用的代码可以清除?

3.代码修改部分

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

符合

符合代码规范风格

 

 

 

 

 

 

4.具体代码部分

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

没有对错误进行处理,没有调用外部参数

没有处理输入的错误参数,没有调用外部函数。

参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单1双字节)的长度,是以0开始计数还是以1开始计数?

 

 

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

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

没有对参数的大小进行判断;无满足条件语句直接跳出switch语句;不会出现死循环。

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

对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄漏(内存、文件、各种GUI资源、数据库访问的连接,等等) ?有没有优化的空间?

在程序运行完后释放掉;不会出现资源泄露的情况;有优化空间;

申请全局变量,在程序运行完后释放掉;不存在资源泄露的可能;有优化空间

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

 

 

5.效能

代码的效能( Performance )如何?

一般

良好

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

没有

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

无调用

6.可读性

代码可读性如何?有没有足够的注释?

简单易读

足够

代码可读性较差,

注释数量足够

7.可测试性

代码是否需要更新或创建新的单元测试?针对特定领域的开发(如数据库、网页、多线程等),可以整理专门的核查表。

需要

需要

 

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

1、经过对两份代码的复审和相互协商,决定以张文博的项目为基础,进行结对编程。

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

1)包名:采用全部小写。

2)类,接口:采用大驼峰命名,每个单词名的首字母都大写

3)括号:在复杂的条件表达式中,用括号清楚地表示逻辑优先级;

4)断行与空白的{}行:每个“{”“}”都独占一行;

5)将各个功能分别用不同的类来实现;

6)分行:不要把多条语句放在同一分行上;

3、描述结对编程的感受

1.提高工作效率

结对编程的编程效率会比个人编程高,结对工作能增加成员的工作积极性,集思广益发挥各自优点,减少失误,提高编程效率同时使设计变得更加规范合理。

2.相互督促

成员的工作积极性,相互督促使我们都能集中精力,更加认真的工作,从而提高成员的工作积极性。

3.相互学习

三人行必有我师,结对编程可以学习对方的技能,可以提升自己水平。

4、结对场景照

 1.通过实践来增加经验

前期代码过于简陋,随着需求的增加,源代码已经不能满足需求,所以进行了全部的推翻重写,在重写过程中遇到了很多的问题,也尝试了很对的方法去尝试,通过一次次的实践,让自己对代码更加了解,编码过程也更加熟练。资料的翻阅也让自己对代码这个世界更近了一步。

四、结对项目编程要求:

1.GitHub链接地址:

2.增加的需求:

a)考虑数据异常处理问题:

如在输入题目生成范围的数据时,输入了“abc“等字符数据,程序会提示输入的不是数字,需要重新进行输入,直到输入符合标准为止

b随用户需求进行具体的四则运算的输出,并能其对应的数量

通过调用Addition、Subtraction、Multiplication、Division类里的运算及变量控制方法对Array方法里的数组进行运算。

猜你喜欢

转载自www.cnblogs.com/anemone0919/p/11737442.html