结对编程作业
第四次作业:结对编程
GIT地址 | 地址 |
---|---|
伙伴博客地址 | 地址 |
一.PSP表格
PSP2.1 | Personal Software Process Stages | ||
---|---|---|---|
·Planning | 计划 | 预估耗时(分钟) | 实际耗时(分钟) |
·Estimate | · 估计这个任务需要多少时间 | 1400 | 1500 |
·Development | 开发 | 1300 | 1290 |
·Analyse | · 需求分析 (包括学习新技术) | 50 | 80 |
· Design Spec | · 生成设计文档 | 60 | 80 |
· Design Review | · 设计复审 (和同事审核设计文档) | 30 | 30 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 40 | 30 |
Design | · 具体设计 | 100 | 120 |
Coding | · 具体编码 | 700 | 800 |
· Code Review | · 代码复审 | 60 | 50 |
Test | · 测试(自我测试,修改代码,提交修改 | 100 | 100 |
Reporting | 测试报告 | 30 | 30 |
· Test Report | · 测试报告 | 30 | 20 |
· Size Measurement | · 计算工作量 | 40 | 40 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 1700 | 1900 |
二.接口实现和过程设计
用的是c++,参考代码规范
设计
见如下思维导图
各类关系
count里面装了完成程序的函数。
main里面执行主函数,集成所有功能。接受字符“-i,-o,-m,-n”,根据不同的字符来执行不同的功能。
实现
关键代码
void charsum();//统计字符数
void cizu();//统计单词总数
void line();//统计有效行数
void sum();//统计前十高频词汇并且以小写格式输出
三.代码复审
在复审途中,存在最多的就是这个错误,多个cpp中定义了同一个变量。
总的来说,代码比较粗糙,也没有什么拓展,只是停留在完成任务上,
四.程序分部运行结果
字符统计:统计文中字符总数
有效单词统计:统计单词长度大于3的数量
行数统计:统计有效行数
词频统计:频率最多的十个单词输出单词和词频
将运行结果录入到text.txt中
五.单元测试
效能分析
可以从图中看出,耗时最多的那部分就是完成高频词统计那一块儿,存在了多个字符串比较。感觉意境到达了能力极限,改不动了。
样本分析报告
六.结对过程
在此次结对过程中,我和我的伙伴也遇到了许多的问题。开始就遇到题目太长,读了很久,很多遍才明白其中的意思。然后我们一起完成了代码,最后就是巨艰难的debug。在这个过程中,我们从网上百度资料,但是因为有一个伙伴,也使得艰巨的工程不再那么高难度。结对期间也没有发生什么口角。我们分工明确,大大缩短了工程周期。
七.总结
本次作业耗时量大,工作量高,但是让我体会到了结对编程的高效。在完成作业的过程中也遇到了巨大的挑战,但是在长时间的磨之下,还是克服了。果然还是人多力量大,而且其中最重要的还是互相沟通,互相帮助,让我真切感受到了1+1>2。