milestone 0.1
Graduates MileStone 0.1
这是第一个里程碑,规定了需要实现的界面以及其中的组件。
1 登录界面
略
在规定生词本界面的组件前,首先需要了解Graduates中的Schedule和Phase两个数据概念。
我们知道,Graduates的用户除了可以浏览自己的生词外,还可以测试某个单词是否已经被自己掌握。
测试的方法就是:把这个单词每隔一段时间拿出来测试自己是否记得,如此反复几次,直到最后一次
测试的时候自己仍然记得,就说明自己已经掌握了。
phase就是一个单词所处的阶段,它的数值的含义就是“这个单词将要进行第几次测试”。
比如,一个单词的phase=2,即该单词处在phase 2,就说明这个单词已经通过第1次测试,将要进行第2次测试。
前面我们讲到,一个单词要每隔一段时间才会进行测试…
Graduates MileStone 0.1
这是第一个里程碑,规定了需要实现的界面以及其中的组件。
1 登录界面
略
在规定生词本界面的组件前,首先需要了解Graduates中的Schedule和Phase两个数据概念。
我们知道,Graduates的用户除了可以浏览自己的生词外,还可以测试某个单词是否已经被自己掌握。
测试的方法就是:把这个单词每隔一段时间拿出来测试自己是否记得,如此反复几次,直到最后一次
测试的时候自己仍然记得,就说明自己已经掌握了。
phase就是一个单词所处的阶段,它的数值的含义就是“这个单词将要进行第几次测试”。
比如,一个单词的phase=2,即该单词处在phase 2,就说明这个单词已经通过第1次测试,将要进行第2次测试。
前面我们讲到,一个单词要每隔一段时间才会进行测试,这段间隔时间的长度是由用户自己定义的。
另外,一个单词在被掌握之前需要进行的次数,也是用户自己定义的。也就是说,用户自定义的用来
测试单词的方法,可以用测试次数和测试的间隔时间这两个量来描述。
schedule就是用来记录用户自定义测试方法的数据结构。它是一个不定长数组,下标是0到n,
n是用户定义的最后一轮测试的序号。
schedule的每个下标代表一个phase,值为这个phase对应的时间间隔长度。
比如:schedule[1] = 4 就代表刚从phase 0进入phase 1的单词需要经过4小时才能进行phase 1的测试。
schedule[2] = 8就代表一个单词从通过phase 1测试进入phase 2时起,需要经过8小时才能进行phase 2的测试。
schedule[n] = 64就代表一个单词从通过倒数第二轮测试进入最后一轮测试阶段时起,需要经过64小时才能进行最后一轮测试。
通过最后一轮测试的单词就从生词本转入熟词本。
schedule[0]的值没有意义,因为处于phase 0的词属于背诵状态而非测试状态。
最后为了强调一下,再举个例子,在用户登入时,如果一个处于phase 1单词距离其进入phase 1的时间长小于schedule[1],
那么它将不能接受phase 1测试。
说明完毕。
2 生词本界面
进入界面时用卡片效果在屏幕上排列显示所有phase 0的生词,单击卡片可以翻页。在以后版本中这个界面可能
还需负责单词发音和查看例句等一系列功能。另外,对于小屏幕或者不希望使用翻页效果的用户,也应该提供
一次查看一个单词的界面。这两种查看方式先实现一个即可。
phase 1~n可以做成n个按钮,单击时会弹出单词测试界面,测试内容就是该phase中所有已达到测试时间的单词。
3.单词测试界面
测试界面的风格可以参考单词喵喵喵。为了既能测试英译中,又能测试中译英,暂时规定奇数phase考察英译中,
偶数phase考察中译英。考察方法是先呈现一个词的英文或中文并提供一个显示答案的按钮,单击按钮后显示答案
并再提供四个按钮,功能分别为把该单词“返回phase 0”、“返回上一phase”、“留在当前phase”、和“进入下一
phase”,按钮上的图案可以是“x”“-”“=”“+”,且每个按钮提供一个快捷键。
以上就是里程碑0.1的全部实现效果,射、任意这个你们现在写起来肯定很快了。
前台需要调用的接口会在里程碑0.1对应的前台接口文档0.1中说明,
这要等日天把controller看会以后教会我再写。