软件工程原理-第三次作业
博客地址 | https://www.cnblogs.com/MlllXavier/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882 |
GitHub项目地址 | https://github.com/MlllXavier/WordCount.git |
结对伙伴作业地址 |
https://www.cnblogs.com/239234l/p/10659437.html
|
PSP表格(预计):
见伙伴博客
代码规范:
1:缩进:一个tab,四格。可加可不加{}的地方,必须加。
2:一行最多只能有一个语句。
3:命名:变量:<类型说明符_单词>,如int i_Word;。
函数名:第一个单词小写,后面的单词首字母大写。若只有一个单词则小写。
类名:首字母都大写。
4:注释:函数要在函数头前面加注释。
变量在定义变量那一行后面加注释。
解题思路:
要实现的事情:从一个txt文件中读取字符,并解析,根据具体命令输出此文件中的一些信息。且可以输出到文件中。
可以输出的信息有:字符数;有效行数;单词数;前n个单词;频率最高的前n个单词;按频率排序后的词组,自定义几个单词为一个词组
分为几个功能模块:输入;输出;;帮助信息;统计字符数;统计行数;统计单词;统计词组;排序;统计频率等。
设计实现:
(我负责将从文件读进来的字符串转化为单词和词组,并统计频率以及排序等,所以这里只写关于我做的方面,其他的方面请查看我伙伴的博客,伙伴的博客链接在博客头中已给出)
类:1:<IOHAll>输入输出,帮助信息
2:统计字符数,统计行数
3:将单词分开,合成词组,统计频率并排序
实现方法:将TXT文件中的每个字符for循环读入,存在一个字符串中。
对这一个字符串进行编辑,分离出单词来,存入到list中;对分离出来的单词进行合并,并记下频率,存入到dictionary中,并先按字典排序,再按频率排序。
将单词合成词组,存入list中;将词组合并,记下频率,存入到dictionary中,并先按字典排序,再按频率排序。
对这一个字符串进行编辑,统计出字符数,行数等。
算法关键:1.编辑从文件读进来的字符串,分离出单词:
2.统计频率:
代码复审:
见伙伴博客
单元测试:
测试分离出单词的函数的部分代码:
构造测试函数思路:分别将各种情况的字符串传入到函数中,判断能否正确找出其中的单词
由于找不到代码覆盖率测试,从网上查看了下,说是community版本的不行,得企业版的才行,所以无法分析代码覆盖率。
运行截图:
结对过程:
PSP表格(实际):
见伙伴博客
心得体会:
结对的过程中,对一个共同的模块会有不同的方案,分析对比几个个方案的优缺点,选出比较好的方案来作为最终的实现方案。
这样就会达成1+1+1>3的效果。