个人项目初始版本李昂
- 代码仓库地址
https://gitee.com/liangruanjian/second_personal_assignment/
2.PSP表格对预估耗费时间与实际耗费时间的记录
|
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
|
Planning |
计划 |
|
|
|
· Estimate |
· 估计这个任务需要多少时间 |
20 |
10 |
|
Development |
开发 |
|
|
|
· Analysis |
· 需求分析 (包括学习新技术) |
500 |
300 |
|
· Design Spec |
· 生成设计文档 |
120 |
10 |
|
· Design Review |
· 设计复审 |
20 |
20 |
|
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
10 |
10 |
|
· Design |
· 具体设计 |
10 |
10 |
|
· Coding |
· 具体编码 |
600 |
800 |
|
· Code Review |
· 代码复审 |
20 |
50 |
|
· Test |
· 测试(自我测试,修改代码,提交修改) |
20 |
40 |
|
Reporting |
报告 |
|
|
|
· Test Repor |
· 测试报告 |
20 |
20 |
|
· Size Measurement |
· 计算工作量 |
20 |
5 |
|
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
120 |
140 |
|
|
合计 |
1480 |
1445 |
具体敲代码花的时间最多,感觉用起来才发现全是坑,幸好网上有很多类似的博客,参考后还是很有收获的。
3、计算模块接口的设计与实现过程。
代码分四个主要函数,一个辅助函数。主要函数分别对应四个基本功能,统计字符数,统计字数,统计有效行数,统计各单词的出现次数并将前10个按字典序输进文档中。最后一个函数写得比较大,但是为了简洁起见,这一个功能就用一个函数。
4.计算模块接口部分的性能改进。
判断空行算是我一个比较说得过去的改进吧,刚开始觉得没事儿,后来发现问题挺大,最后想到一行一行读文件后,判断一行的长度为1,是一个单纯的换行符,这一行就不在统计行
数时加入。另一点就是将大小写单词不加以区分这一点,终于灵光一现发现只要在统计词频前全部强行转换为小写就行了,因为我们之后并不需要保留文件原有的格式。5.计算模块部分单元测试展示。
(1)有仅包含空白字符的行
I am
I am
(2)单词中含有数字、大小写,汉字 file123 file2file 3file 3 fiil 李昂 FiLE
(3)单词与单词间有超过一个空格 有空格和其他分隔符的组合 a +b a+b
(4)总单词数量不足10个 或者为0个 @123 ab
(5)
6.计算模块部分异常处理说明。
参考林程同学的博客,我发现忘记对空白文档或者单词总数小于10的文件进行考虑,事实证明如果单词总数小于10,我的代码会报错。加入一个判断条件,总数小于10 那么只输出这个数量的单词。
7.对实际使用的时间的记录。
8.学习日志
由于某些心情上的原因,我没有每次都做学习记录,现在是回忆版本,可能有一些偏差。
(1)2019.1.1下午14:00-17:00
对整个任务进行考虑(然后陷入了悲观之中),大致地了解了一下整个任务。暂时还没有写代码。
(2)2019.1.5 下午 13:00-17:30 18:50-21:30
开始艰难地写程序,参照了一些网上的博客,先是做了一个统计字符的功能,但是输出的结果与实际相差有点大。然后修改了一个函数,深入理解了readlines的功能,最后达到了统计字符,字数,行数的功能。顺便还发现了一个问题,长度函数是len不是lens,之前一直记错了。
(3)2019.1.6 晚上
发现了一个问题,如果我每次调用具有某个功能的函数(参数都是文件指针),必须每次调用前先给文件指针再赋值一次,无法一劳永逸。(这次没有签入码云)
(3)2019.1.8 下午 21:00-23:59
会议室加班,排序的函数始终调不好,调不好排序函数就没办法找出频数前10的单词。
(4)2019 1.9 凌晨0:00-0:13
终于发现排序函数误将[]写为(i)难过。
(5)2019.1.9 下午16:40-21:54
今天是较好的一天,把输出频数前10的单词按字典序重新输出终于做好,按频数输出弄完了再按字典序输出有点蒙,不知道有没有较简洁的方案,最后还是循规蹈矩地重新取了一个列表,先转成字典按字典序排序,然后再输出。顺便找到了如果文件总单词数不足10的修正方案。
(6)2019.1.10 上午 8:10-9:55
这一天在室友“你居然现在还每天满课?”的惊讶声中开始。我只想说,我不仅每天满课,我还有四门考试和软件大作业。今天的进展就是想到了将所有字符转换为小写,以避免开头大写的单词被误判为另一个单词。
浙公网安备 33010602011771号