软件构造Lab2实验总结

软件构造Lab2随笔

1、每写一个方法之前先完成方法的规约,是一个非常好的习惯,可以时刻提醒我们在完成整个方法的过程中不要跑偏,注意条件限制,而为了完成实验要求而在方法全部写完之后完成规约是一个十分低效且浪费时间的行为。
2、因为在实验过程中完全从无到有编写了P3的test文件,遇到许多问题在此记录一下,以备后用
①、junit中几个常用的annotation:
(1)@Before:初始化方法 对于每一个测试方法都要执行一次
(2)@Test:测试方法,在这里可以测试期望异常和超时时间 。注意@Test所标注的测试方法前缀必须是public void否则在进行junit测试时会报错:initializationError,这也是困扰了我好久的问题,经过查阅资料解决

本次实验金用到以上两个annotation,因为查资料时还查到好多,所以一并在此记录,便于日后编程时进行使用
(3)@Ignore:忽略的测试方法
(4)@BeforeClass:针对所有测试,只执行一次,且必须为static void
(5)@AfterClass:针对所有测试,只执行一次,且必须为static void
其中,junit4单元测试用例执行顺序为:
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
在每一个测试方法中,调用的顺序为:
@Before -> @Test -> @After
对于其他的annotation有何注意事项,因在本次实验中尚未遇到,若在之后遇到,在此进行更新补充
3、个人感觉,在面向对象的编程过程中。对于方法的实现,如果存在嵌套的if条件判断,最后将其写成以下形式:
if()
//提示错误信息
return false;
if()
//提示错误信息
return false;

当所有的非法条件判断完之后,在进行正确的操作,这样写的好处是条理清晰,在后期debug时候也方便不少,而本人在本次实验中则将无数个if直接嵌套在一起,后期debug时候十分复杂不说,用户使用体验也十分差,因为是层层嵌套,所以else报错就十分复杂,遂本人也就没有写,进而当整个程序在执行的时候,即使用户输入错误,也只会让其重新输入,并不会提示相应的错误原因,所以全凭使用者的灵性23333因为本次实验时间有点紧张没有重新修正,希望在日后编程中注意不要整if千层饼。
4、对于接手的任务,例如P1,在完成各个方法的时候一定要先看程序的规约,按照规约完成方法,切忌凭感觉胡来,否则re-write两行泪
5、对于GitHub国内连接速度极慢,甚至连接不上的问题,先看看自己使用的是不是移动网。如果换了之后还不行,可以百度搜索修改host的方法。最终实在解决不了再想办法找梯子吧。
6、对于一个全新的工程,一定要先把整个框架构思清楚再着手完成编程内容,混乱的思路只会让你的软件架构一团糟,出现大量的无用代码
本次实验其实难度并不高,只是各种接口继承问题比较复杂,接来接去的在debug时候也会四处乱跳,只要保持耐心,并且不要在ddl前两天开始动手写实验就好了。本文章仅记载完成实验的一些心得,因为对于实验内容较为简单,所以不进行详述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值