1、库的Github项目地址
git地址https://github.com/FreshFighter/WordCount
打开https://github.com/YuRenDaZ/WordCount克隆到自己仓库
Fork
2、 PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 40 | 35 |
· Estimate | · 估计这个任务需要多少时间 | 300 | 400 |
Development | 开发 | 60 | 90 |
· Analysis | · 需求分析 (包括学习新技术) | 40 | 60 |
· Design Spec | · 生成设计文档 | 20 | 15 |
· Design Review | · 设计复审 (和同事审核设计文档) | 20 | 30 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 15 |
· Design | · 具体设计 | 30 | 40 |
· Coding | · 具体编码 | 200 | 280 |
· Code Review | · 代码复审 | 10 | 10 |
· Test | · 测试(自我测试,修改代码,提交修改) | 90 | 150 |
Reporting | 报告 | 0 | 0 |
· Test Report | · 测试报告 | 0 | 0 |
· Size Measurement | · 计算工作量 | 10 | 20 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 15 | 30 |
| 合计 | 400 | 600 |
3、计算模块接口的设计与实现过程
这是讨论照片
刚开始虽然我们学过C#但我们并不会链接文件、统计过多的字符及接口封装等。我们看了以前的C#、C语言、C++及其他相关的C#书,也在网上收搜了如何连接、封装等,看了很久才一步步实现相关功能。
我和罗付强根据作业要求,多次讨论了以后虽意见还有不同但给出了共同点:
1.创建一个类库,里边有三个类,分别是
CountCharacters.cs(统计字符个数的类):有一个带参数构造函数CountCharacters(string s和 一个实现统计字符的函数int Count_character();
CountLines.cs(统计有效行的类):有一个带参数的构造函数CountLines(string s)和一个实现统计有效行的函数int Count_line();
CountWords.cs(统计单词的类):带参数的构造函数CountWords(string s),实现统计单词个数的函数int Count_word(),实现统计频数的函数int Count_word_frequency();
2.主程序,主程序里边除了主函数以外写两个函数,一个用来打开文件,一个用来装各种类和函数的调用。
4、实现基本功能的编码
我的代码能力不是特别强,而且几乎没有注释,只是后来加了些我认为必要的。刚开始我和罗付强的代码有所不同,大致意思一样,但习惯等不同,所以我们讨论后,采用我们稍微有共同能互相理解的方式来写。
5、代码复审过程
我们经常互相观察、讨论及修改,所以复审就用心不大了。
6、初步测试
开始运行还是可行的,只是可能多少都有一些小问题之类的。然后我们再进行了一些需改。
7.单元测试
单元测试这个我不太会,所以是罗富强主要进行的,我只是查看相关资料,协助他完成,顺便再更好的学习怎么进行单元测试。
8.性能测试
9、增加功能
这个是增加功能后的:
10、提交代码
最开始测试
单元测试和效能分析后的
为了更好,有做了第三次
11、个人总结
二人作业我体验到了一些团队合作的感觉。但我还是对我的编程能力感到担忧,感觉知识远远不够,什么都需要查,还不一定能解决问题。那些测试、分析、设计、链接之类的伤了我的头。一个小错或改动都让我焦虑,反复改动让我厌烦。虽然做出来心理有成就感,但还是的保持冷静,因为还有很多未完成。