第三次阅读作业
第三次作业之结对编程
1:克隆项目地址
github项目地址:https://github.com/wanyouyingli/WordCount
结对伙伴作业地址:
2:结对过程及编码照片
本人编写代码的能力还不是很好所以邀请了大佬结对。
编码照片:
3:结对的PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
25 | 20 |
· Estimate |
· 估计这个任务需要多少时间 |
120 | 150 |
Development |
开发 |
50 | 60 |
· Analysis |
· 需求分析 (包括学习新技术) |
20 | 15 |
· Design Spec |
· 生成设计文档 |
20 | 25 |
· Design Review |
· 设计复审 (和同事审核设计文档) |
15 | 20 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
15 | 10 |
· Design |
· 具体设计 |
60 | 70 |
· Coding |
· 具体编码 |
60 | 70 |
· Code Review |
· 代码复审 |
30 | 20 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
25 | 20 |
Reporting |
报告 |
25 | 20 |
· Test Report |
· 测试报告 |
25 | 20 |
· Size Measurement |
· 计算工作量 |
20 | 15 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
30 | 15 |
合计 |
540 | 550 |
4:解题思路描述
4.1:
阅读了项目需求说明之后:队伍是打算在一个类里面再写上4个方法(分别用来统计字符数,单词数,各单词的出现次数及输出到txt文件)。
5:设计实现过程
5.1: 按照4步骤开始写代码时意识到需要将文件中的单词存储以及分析,这里用到了字典树参考了温布利往事的博客(https://www.cnblogs.com/my-freedom/p/5701427.html)这里我们编写了1个类及4个方法(分别用来统计字符数,单词数,各单词的出现次数及输出到txt文件)。这里代码为第一个版本。
5.2: 代码现在已经可以运行成功且结果也正确,由于这些代码的种类不同,混杂在一起对于后期的维护扩展很不友好,所以它们的组织结构就需要精心的整理和优化。将4个方法独立出来编写了三个独立的类,就形成了第二次版本。
5.3: 程序还需要新增两个功能,词组统计:能统计文件夹中指定长度的词组的词频,自定义输出:能输出用户指定的前n多的单词与其数量。再次修改后得到了第三次版本。
6:代码规范及代码复审
6.1: 变量及函数的命名:使用驼峰命名法及下划线命名法,不使用单独的字母进行命名。
6.2: ” { “ “}”都占用一行,每个函数,类,方法之间都空一行。
6.3: 代码尽可能简洁,不嵌套。
7:改进程序的时间及思路 8:代码说明
9:心路历程和收获
由于是第一次进行结对编程所以刚开始还是会觉得困难,当慢慢的分析需求开始编代码之后就会觉得不是那么的难,按照规定一步步的进行也没有遇到太大的困难(有大佬带我),每次遇到问题不要想着不可能解决,应该慢慢的分析稳扎稳打。结对感受的话我是觉得1+1>2。