一.计划用时
对于完成这个项目,由于作业要求用C#或者C++写,而这两个以前几乎没有接触过,所以我计划阅读题目之后,对题目大概有了自己的想法之后,先是学习一下C#语言,大概一天的时间,方便写程序时好上手,然后,在计划完成项目时,计划把较大的时间用在写收集单词和词频统计方面,大概3-4个小时,在文件输入,输入分析,还有文件的输出方面可能用时较少。
二.实际用时
在写程序的过程中,往往遇到许多问题,会导致卡在那里停滞不前,所以时间还是比预计的要多,在读写文件时,发现很多的类库了解不详细导致各种问题出现使得本来想的很简单的文件读写花了很大的时间。
三.对于较大文件的测试,约3M,性能测试
四.测试用例
1.对于单词相同大小写不同的情况:Aaaa aaaa AaAa AAAA aAaa
测试结果:(模式1)
AAAA:5
2.对于是否为单词的判断:aaa aaa123 1aaa23 of D123
测试结果:(模式1)
aaa123:1
aaa:1
3.对于有很多分隔符情况的判断:alkjg 2+_)fpoekf*8^&^5ef efa+_=d
lskdjf sldkf
测试结果:(模式1)
sldkf:1
lskdjf:1
fpoekf:1
efa:1
alkjg:1
4.对于对于带有汉字的情况:nihao 你好 hello 加油
测试结果:(模式1)
nihao:1
hello:1
5.对于排序的测试:aaa bbb bbb ccc ccc ccc ddd ddd ddd ddd eee eee eee eee eee
测试结果:(模式1)
eee:5
ddd:4
ccc:3
bbb:2
aaa:1
6.对于单词频度相同的排序(相同单词频度按照字典序排列):asd aSd Asd asD Sdf sdf SDF sdf mmm MMM mMm MMm
测试结果:(模式1)
SDF:4
MMM:4
Asd:4
7.对于模式2或模式3的测试:When Oblonsky asked Levin what had brought him to town
测试结果:(模式2)
When Oblonsky:1
what had:1
Oblonsky asked:1
Levin what:1
had brought:1
brought him:1
asked Levin:1
8.对于.cpp,.txt等后缀文件的测试:
测试结果:正确
9.较综合的测试:一篇文章
测试结果:(部分)
10.空文件的测试
测试结果:
正确
四.收获
这次作业是在没有接触过C#的前提下做的,在学习C#过程中收获很多,例如在文件读取方面,正则表达式方面等,但是自己写的程序的数据结构不是很好,导致性能较差,以后还是有很多要学滴。