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单机版
本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏: ...
随机推荐
- linux字符设备学习笔记【原创】
1.申请设备号 int register_chrdev_region(dev_t from, unsigned count, const char *name) 指定从设备号from开始,申请coun ...
- 算法(Algorithms)第4版 练习 1.3.14
方法实现: //1.3.14 package com.qiusongde; import java.util.Iterator; import java.util.NoSuchElementExcep ...
- 大数据 - Zookeeper
Zookeeper 1. Zookeeper概念简介: Zookeeper是一个分布式协调服务:就是为用户的分布式应用程序提供协调服务 A.zookeeper是为别的分布式程序服务的 B.Zooke ...
- capsule network——CNN仅仅考虑了“有没有”的问题,没有考虑feature map的结构关系。这个结构关系包括位置,角度等。Capsule layer的输出也跟feature map的max-pooling输出不同,capsule layer的输出是一个向量,这个向量包含了位置,大小,角度等信息,这是feature map仅能输出一个值所不具备的;训练比较慢
capsule network--<Dynamic Routing Between Capsules> from:https://zhuanlan.zhihu.com/p/31491520 ...
- eclipse如何在不联网的情况下引入dtd约束文件
1. 获取dtd文件,解压 F:\Java配置文件\Mybatis\mybatis-3.3.0\mybatis-3.3.0.jar\org\apache\ibatis\builder\xml\ 路径下 ...
- Struts2与ServletAPI解耦
什么是与Servlet API解耦? 为了避免与servlet API耦合在一起,方便Action做单元测试, Struts2对HttpServletRequest,HttpSession,和Serv ...
- 【POJ 3580】SuperMemo Splay
题意 给定$n$个数,$m$个询问,每次在$[L,R]$区间加上一个数,或者反转一个区间$[L,R]$,或者循环右移区间$[L,R]$共$T$次,或者在第$x$个数后插入一个数$p$,或者删除第$x$ ...
- codeforces 706B B. Interesting drink(二分)
题目链接: B. Interesting drink 题意: 给出第i个商店的价钱为x[i],现在询问mi能在多少个地方买酒; 思路: sort后再二分; AC代码: #include <ios ...
- ACM学习历程——UVA540 Team Queue(队列,map:Hash)
Description Team Queue Team Queue Queues and Priority Queues are data structures which are know ...
- Digging-贪心
When it comes to the Maya Civilization, we can quickly remind of a term called the end of the world. ...

