Lab3-Day1

进度:

目前的进度是完成了任务1、2、3,也就是vote包里的三个class和对应的测试用例,这次就比前两次熟练多了。

直入主题:

其实这三个任务还是很简单的,但是也难免遇到一些小问题——

  • 构造器的参数怎么选择,在没有用正则表达式之前,我的选择局限于map和list两种方法,但是对于客户端都是不太友好的,因为输入确实很麻烦,看看后续能不能有所改进吧
  • RI的描述,一个类的RI想要保持,似乎不仅仅依赖于内部的checkRep检查。就拿VoteItem这个类来说,一个item的投票选项必须是在VoteType里头提供了的,不然这个item显然是违背了它的RI的,但是在class VoteItem里面,由于这时还没有确定VoteType是什么,也就自然无法用checkRep来检查,个人感觉需要在后续综合使用的时候进行这个检查会好一点,就是不知道会不会影响程序的一些性质?
  • 还有equals的重写。这个还是挺麻烦的,需要判断的细节比较多。一是Object obj是否为空引用,二是obj是否为当前类的一个实例,然后强转,再者就是强转之后,比较属性的问题,在写的时候我选择了直接比较this和obj的属性。但是用observer的结果来比较会不会更规范一点?
posted @ 2022-06-06 20:24  Cohle  阅读(16)  评论(0编辑  收藏  举报