规格BUG | 功能BUG | 是否有联系 | |
第九次做业 | 3 | 0 | 有 |
第十次做业 | 0 | 0 | 无 |
第十一次做业 | 0 | 0 | 无 |
从上面这个表格能够看出来,个人三次做业都没有被报功能性BUG,我认为这村内在两方面缘由:一是我写了做业,二是测试者没有测出来个人BUG,在第九次做业中,我被报告了3个规格BUG,在我看来,这三处BUG都是一摸同样的,由于这是我三个判断正则表达式的地方,都是因为前置条件写的有问题,当时我认为不须要条件就要写null,但是并非,要写成空,因此被报告了三个BUG。正则表达式
我认为被报告的BUG和代码行数并无多大联系,这三处代码算上我习惯的空行应该也没有40行,有效代码更是少,可是就会被报告规格BUG,而其余地方写的很长的方法并无被报告BUG。学习
因此,我认为我被报告BUG的缘由主要是我没有仔细看好那份word,因此才会被报告规格BUG,这也是第一次写规格,因此会出现一些纰漏。测试
一、运用了天然语言this
/** @REQUIRES: Req_list类的对象r
*@MODIFIES: this
*@EFFECTS: 给this里的变量赋值
*@THREAD_REQUIRES:
*@THREAD_EFFECTS:
*/设计
修改后:对象
/** @REQUIRES: r!=null
*@MODIFIES: this
*@EFFECTS: this!=null
*@THREAD_REQUIRES:
*@THREAD_EFFECTS:
*/继承
二、打出了null接口
/** @REQUIRES: null
*@MODIFIES: start_x, start_y, end_x, end_y
*@EFFECTS: 给上面的变量赋值
*@THREAD_REQUIRES:
*@THREAD_EFFECTS:
*/get
修改后:数学
/** @REQUIRES:
*@MODIFIES: start_x, start_y, end_x, end_y
*@EFFECTS: start_x=a1 && end_x=b1&&start_y=a2&&end_y=b2
*/
三、effect写的不清楚
/** *@REQUIRES: null
*@MODIFIES: null
*@EFFECTS: 返回value
*@THREAD_REQUIRES: Vocked(value)
*@THREAD_EFFECTS:
*/
修改后:
/** *@REQUIRES:
*@MODIFIES:
*@EFFECTS: \result==>value
*@THREAD_REQUIRES: \locked(value)
*@THREAD_EFFECTS:
*/
四、较为简单的都是用了天然语言
/** @REQUIRES: null
*@MODIFIES: null
*@EFFECTS: 返x1
*@THREAD_REQUIRES: \locked(x1)
*@THREAD_EFFECTS:
*/
修改后:
/** @REQUIRES:
*@MODIFIES:
*@EFFECTS: \result==>x1
*@THREAD_REQUIRES: \locked(x1)
*@THREAD_EFFECTS:
*/
五、限定范围不明确
/** @REQUIRES: null
*@MODIFIES: value
*@EFFECTS: 修改value为x
*@THREAD_REQUIRES: \locked(value)
*@THREAD_EFFECTS:
*/
修改后:
/** @REQUIRES: x>=0 && x<=300
*@MODIFIES: value
*@EFFECTS:value==>x
*@THREAD_REQUIRES: \locked(value)
*@THREAD_EFFECTS:
*/
功能bug | 规格BUG | |
match | 0 | 1 |
match_op | 0 | 1 |
match_cl | 0 | 1 |
能够看出,BUG基本都在规格方面,因此主要是因为没有看清楚word,因此才会出现BUG。
要大量运用布尔表达式,才会逻辑清楚没有二义性。
详细写出前置条件。
代码和JSF仍是要好好写,分数只是好好学习的附属品,咱们不该该为了几分就抛却了重要的学习。开心的学习知识才是咱们上大学的目的,不是吗?