(1). 输出模块:输出结果到result.txt文件
(2). 构造和析构函数:类的构造和析构函数
(3). 文件长度函数:获取输入文件长度
(1). 输出模块:输入一个vector结构,输出一个result.txt文件
(3). 文件长度函数:输出文件长度
(1). 输入模块:读取文本为一个字符串对象
(2). 主函数:调用其余小组成员的接口,是主要逻辑
(1). 输入模块:输出一个字符串对象
(2). 主函数: 无
WC::WordMap word_count(string buff) {
WC::WordMap smap;
regex rgx("[A-Za-z]+([A-Za-z-]?[A-Za-z]+)*");
sregex_token_iterator iter(buff.begin(), buff.end(), rgx);
sregex_token_iterator end;
for (; iter != end; ++iter) smap[*iter]++;
return smap;
}
我仔细地阅读了google style guide,在include头文件顺序方面,我以前一直都没有一个很好的指导规范,在阅读了这个文档以后,了解到应以本文件对应头文件、C系统文件、C++系统文件、其余库的.h文件、本项目内的.h文件的顺序来include
而关于类的继承方面这一块我以前都不怎么熟悉,在阅读以后了解到使用组合经常比使用继承更合理. 若是使用继承的话, 定义为 public 继承的准则
高级任务
一.测试数据
咱们找了莎士比亚全集的英文版txt文档,有5Mb大小
使用这个数据,咱们测试后发现大体须要3秒的时间才能处理完整个文件,运行截图以下:

二.组内评审
针对可能影响程序性能(制约因素),咱们小组进行了组内评审,讨论。
主持:
庹舒月
评审:
唐明华、辜之皓、俞亮
评审主题:
1.影响程序性能的主要因素
2.有何建议
讨论结果:
咱们讨论以后认为,主要的性能瓶颈在于须要读取整个文件以后再开始统计,由于磁盘读写的速度很是慢,致使了整个程序运行效率低
解决方案:
使用多线程,一边读取数据,一边开始统计读取部分的数据,以后再将各个部分的统计结果合并,能够大大提升性能
三.修改以后的结果
修改以后程序性能有了成倍的提升,运行时间大概在0.7秒左右,提升了大约4倍的性能
运行截图以下:

四.心得体会
本次做业让我大大认识到了软件测试和实际开发的密不可分的关系
参考连接:
1. c++参考手册:
http://zh.cppreference.com/
2. goole style guide:
https://github.com/google/styleguide/