一.本次作业的GITHUP地址
GIT地址 | https://github.com/kubaiyi/WordCount |
GIT用户名 | kubaiyi |
结对伙伴地址 | https://www.cnblogs.com/singqp/ |
博客地址 | https://www.cnblogs.com/Nauthiz/ |
作业链接 | 第三次作业结对编程 |
二.PSP表格
PSP | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
Planning | 计划 | 20 | 20 |
Estimate | 估计这个任务需要多少时间 | 20 | 20 |
Development | 开发 | 600 | 710 |
Analysis | 需求分析 (包括学习新技术) | 50 | 40 |
Design Spec | 生成设计文档 | 30 | 20 |
Design Review | 设计复审 (和同事审核设计文档) | 20 | 30 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 20 | 15 |
Design | 具体设计 | 30 | 45 |
Coding | 具体编码 | 360 | 300 |
Code Review | 代码复审 | 60 | 50 |
Test | 测试(自我测试,修改代码,提交修改) | 30 | 30 |
Reporting | 报告 | 90 | 70 |
Test Report | 测试报告 | 40 | 30 |
Size Measurement | 计算工作量 | 30 | 30 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 10 |
合计 | 710 | 800 |
三.解题思路
题目要求是对txt文件中的内容进行各种统计,于是首先应该读取文件内容并存入一个字符串对象中,之后再对这个字符串进行一系列操作,最终得出统计结果。读取文件可能会遇到异常,所以在进行读取文件时必须使用try catch语句来防止异常导致的程序中断。对于统计字符数,很简单,不必详细说明,只需注意是否有汉字字符;针对单词个数,则要用字符串数组来解决,首先应将数组全部初始化为空字符串,再将符合条i间的单词存入数组,而最终数组中有多少个非空字符串即表示有多少个单词;对于统计行数,则比统计字符数跟为简单,仅统计字符串中有多少个换行符即可;之后的统计单词的词频和字典序排序,则需要对原字符串数组进行遍历,并破坏其中的相同单词的存储方式,之后用Dictionary类进行字符串数组的排序,最终输出单词和它的词频。
四.关键代码说明(见结对伙伴博客)
五.运行效果(见结对伙伴博客)
六.代码规范(见结对伙伴博客)
七.结对编程总结
在整个结对过程中,我认识到了两个人共同编程的效果确实比一个人更好,但是如果双方的水平差距过大,能起到的帮助就比较小。在整个过程中,我的伙伴给了我很大的帮助,
遇到问题能第一时间帮助我解决,顺利的继续编译下去,但反过来我能提供的帮助就很少了。我意识到结对编程可以突破单人编程的思维局限性,通过快速、有效地的交流对要解
决问题的求解方案达成一致的看法和认识。而且一人编程一人审查必然可以减少逻辑错误和低级失误,减少纠错浪费的时间,提高了编程的效率。