GIT地址 | https://github.com/Decadeeeee/WordCount |
GIT地址 | Decadeeeee |
人员 | 梁江:201731062126 彭正杰:201731062125 |
博客地址 | https://www.cnblogs.com/decade2019/ |
二,
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
30 |
30 |
· Estimate |
· 估计这个任务需要多少时间 |
30 |
30 |
Development |
开发 |
740 |
1650 |
· Analysis |
· 需求分析 (包括学习新技术) |
50 |
30 |
· Design Spec |
· 生成设计文档 |
30 |
50 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
30 |
50 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
20 |
5 |
· Design |
· 具体设计 |
60 |
100 |
· Coding |
· 具体编码 |
500 |
885 |
· Code Review |
· 代码复审 |
30 |
50 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
20 |
500 |
Reporting |
报告 |
90 |
60 |
· Test Report |
· 测试报告 |
50 |
30 |
· Size Measurement |
· 计算工作量 |
20 |
10 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
20 |
20 |
|
合计 |
860 |
1740 |
三,
输入格式:
算法关键:储存英文和英文频率的时候用的SortedList 泛型类可以自动排序。输出时不知道怎么用SortedList按照频率排序,所以就新建了两个数组,同步排序。
独到之处:。。。用了两个数组,分别储存英文和英文频率,按照频率排序的时候直接判断英文频率数组然后交换的时候英文和英文频率一起交换(别人的方法:4.输出频率最高的10个词,如果频率最高则按字典序输出这个地方。将新的dictionary先用frequencies函数进行统计判断,然后将结果首先按照value值进行排序,然后再按照key值进行排序)
四:
问题1:我发现结对伙伴用了SortedList ,后面接口的时候费了点时间学习;又把我的代码改了点以便用的了SortedList 。发现的问题,当更改了DLL文件时要重新生成解决方案来更新主函数里面的引用。主函数里面的代码有点多了。
问题2:C#添加引用的类库需要这个Dll本身是.net的程序集,或者是一个COM组件才能正常引用,而今天我用的Dll是一个第三方的Dll文件,并非标准的.net的程序集,或者是一个COM组件,所以我们引入这种Dll类库时需要使用DllImport导入函数。原博客地址:https://blog.csdn.net/kevinfan2011/article/details/84586587
问题3:单元测试文件有多少行时,每加有一行,空回车就多 行数*2-2
五:性能分析图:
六,单元测试:
(1):CharCount类
与预期结果一样,回车数量也符合规律。
(2):WordGet--测试读取的单词的数量
符合预期,而且代码里的用”?“分割也成功了导致后面的“i”被算作一个单词。
七,异常处理及说明
1.这里”12“与”-o“之间没打空格,重新运行
.
2.这里"-n"指令是输出最多的前[number]个单词,9超过了单词总数,这里有个循环可以继续输入
3.“-m”指令(和-n指令一样)
4.输入路径错误,重新运行。
八,
来源:https://www.cnblogs.com/decade2019/p/10646170.html