WordCount by C# 结对编程
合作者:201631062210,201631062110
Gitee项目地址:https://gitee.com/zhouyue98/learngit
本次作业的链接地址:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187
一·代码互审情况
1.C#编程避免使用大文件,如果一个文件里的代码超过300-400行,必须考虑将代码分开到不同的类中,同伴写的太长,所以将代码分成了一个WC类。
2.有些变量命名格式错误,将其改正成了c#规范格式。
二·静态代码检查情况
采用的静态代码检查工具是StyleCop,StyleCop是一个分析C# 源代码的程序,它执行一套统一风格和一致性规则,可以运行在Visual Studio或集成到MSBuild项目。
StyleCop也被集成到许多第三方开发工具中,应用范围适中。 报出一个错误,和一些提示。

错误的原因是在单元测试中把原先控制台输出的部分暂时改成了函数返回,后面改回来之后,单元测试无法得到方法的返回值。改进方法,自己重新定义一个值。

三·单元测试情况
本次功能的拓展,增加了SuperCount方法(统计高级信息:空行数 代码行数 注释行数),ReadStopList方法(读取停用词表),Traverse方法(遍历所有符合条件的文件),
我主要测试了SuperCount方法,使用VS2015生成的单元测试框架,为了方便测试,我对其中代码输出的部分进行了修改,将原先控制台输出的部分暂时改成了函数返回。该模块的所有语句和分支都已覆盖。

这是运行的单元测试,遇到问题
之前文件名因为缺少转义字符“@”,而且应该给出完整路径,所以出错。修改之后
一些测试用例





写入文件

测试的.c文件中的代码使用的是本wc程序的代码


四·性能测试和优化
本次性能测试用VS2015进行性能分析
测试结果



可以从图中看出,Console.ReadLine()占据了99.8%时间,这主要与用户的输入时间有关,所以本软件的性能可以算优秀,暂时不用优化。
五·收获和感悟
此次结队编程初体验理解到了结队编程很多好的方面,比如和两位程序员各自独立工作相比,结对编程能编写出质量更高的代码;可以更高效率的完成任务;
结队编程还可以互相学习,以及发现很多自己身上的弊端。是一次不错的体验。
六·参考文献链接
此次作业中,静态代码检查参考doris_d的这篇博客:https://blog.csdn.net/doris_d/article/details/51323049,性能测试参考taxuezcy的这篇博客https://blog.csdn.net/taxuezcy/article/details/79315401;有关博客的使用和排版,参考范飞龙老师的这篇博客:http://www.cnblogs.com/math/p/se-tools-001.html;有关Git的使用,参考廖雪峰的官方网站https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/,在此表示感谢。此外,单元测试与性能测试与同伴一样。
WordCount by C# 结对编程的更多相关文章
- 第三次作业-结对编程(wordcount)
GIT地址 https://github.com/gentlemanzq/WordCount.git GIT用户名 gentlemanzq 结对伙伴博客地址 https://home.cnblogs ...
- WordCount结对编程
合作者:201631062602,201631062114 代码地址:https://gitee.com/Changyu-Guo/pairing_project 作业链接:https://www.cn ...
- 结对编程项目——C语言实现WordCount Web化
结对编程项目 代码地址 201631062219,201631011410 gitee项目地址:https://gitee.com/xxlznb/pair_programming 作业地址:https ...
- Jason Wang: 结对编程 CountWord(第三次作业)
本次作业地址: https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882 学号: 201731072323 ...
- 结对编程--基于android平台的黄金点游戏
游戏内容: 阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或1 ...
- 结对编程-地铁续(有种上个学期OO的既视感)
我们组比较特殊..三人结对 github:https://github.com/qingchanghan/WPFUI_Metro po一张照片: 石浩然,韩青长.陈彦吉 (台式机真的很高端,分屏贼帅) ...
- 结对编程项目——四则运算vs版
结对编程项目--四则运算vs版 1)小伙伴信息: 学号:130201238 赵莹 博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...
- 关于软件工程结对编程作业 PairProject : Elevator Scheduler(电梯调度算法的实现与测试)的总结
1)结对编程队友 1106xxxx 张扬 1106xxxx 杨军 其中,此项目的编程实现主要由前者完成. 2)关于结对编程 结对编程的优点: 最直接的一点:在结对编程中,由于有另一个人在你身边和你配合 ...
- 结对编程—黄金点游戏WinForm单机版
本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏: ...
随机推荐
- 算法(Algorithms)第4版 练习 1.3.21
方法实现: //1.3.21 /** * find if some node in the list has key as its item field * * @param list the lin ...
- 简洁多用途SuperSlide插件—tab标签样式
简洁多用途SuperSlide插件—tab标签切换代码样式,由huiyi8素材网提供. 源码:http://www.huiyi8.com/tab/
- html5--2.6新的布局元素(5)-nav
html5--2.6新的布局元素(4)-aside/nav 学习要点 了解aside/nav元素的语义和用法 通过实例理解aside/nav元素的用法 aside元素 aside元素通常用来设置侧边栏 ...
- 第三届蓝桥杯预赛c++b组
1.微生物增值 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍). 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每 ...
- hdu 6121 Build a tree
/** * 题意:一棵 n 个点的完全 k 叉树,结点标号从 0 到 n - 1,求以每一棵子树的大小的异或和. * 解法:k叉树,当k=1时,特判,用xorn函数,具体解释:http://blog. ...
- ctypes模块与pywin32模块
ctypes模块: 主要用于调用c动态链接库. 1.聊聊Python ctypes模块 2.ctypes模块管理 相关网址: pywin32模块: 用于访问win32API函数(win32api模块) ...
- 【Shell】通配符与特殊符号
——来自<鸟哥的Linux私房菜> 在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下列出一些常用的通配 ...
- 如何将 Python 程序打包成 .exe 文件?
有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...
- hdu畅通工程
传送门 畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- poj3067Japan——树状数组查找逆序对
题目:http://poj.org/problem?id=3067 利用树状数组查找逆序对. 代码如下: #include<iostream> #include<cstdio> ...

