一、结对编程
*结对对象:1413042065冯越
*博客地址:http://www.cnblogs.com/fengyue1206/
*Github链接:https://github.com/superyy/YY1/blob/master/4main.cpp
*贡献比例:各50%
*结对照片:
二、目标
*代码复审练习,结对练习,编写单元测试
*开发工具:CodeBlocks
*开发语言:C++
三、要求
基于作业3的结果,读取一个较小的文本文件A_Tale_of_Two_Cities.txt,统计该文件中的单词的频率,并将统计结果输出到当前目录下的 Result1.txt 文件。
此外, 读取一个较大的文本文件Gone_with_the_wind.txt实验对比程序执行效率,做如下改进,比较改进前后程序执行时间。
四、部分源码及运行结果
在冯越作业3的代码基础上,新增了冒泡排序算法和文件流的输出:
void BubbSort(Word*word,int size) { float t; for(int i=1;i<size;i++) for(int j=0;j<size-j;j++) if(word[j].size>word[j+1].size) { t=word[j].size; word[j].size=word[j+1].size; word[j+1].size=t; } }
ofstream out("D:\result.txt"); out<<result[i]; out.close();
运行结果:
五、困难与解决
一开始本来使用的是选择排序,成功率为0,后来又选择了冒泡排序,并参考了C++书。
六、总结与收获
这是第一次尝试结对编程,感觉还蛮不错的。“寸有所短,尺有所长”,两个人的组合果然大大的降低了错误的发生率,提高了效率。注重细节的,能减少低级错误的发生;看中整体的,能从大方向上把握。尽管是对前面作业的复审与再编,但是通过这次作业也改正了个人编程时的一些不良习惯,汲取了小伙伴身上的优点,互惠互利吧。尽管在编程时我们会各执己见,但这也算是另一种收获吧。
同时,我也体验到了代码复审的好处。它能让我调整前面的错误,优化完善程序,提高程序的性能。虽说是一次小小的练习,但我想我会把复审应用在以后的编程中的,毕竟经常复审复审也许能提高自我的能力呢!