合作者: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# 结对编程的更多相关文章

  1. 第三次作业-结对编程(wordcount)

    GIT地址 https://github.com/gentlemanzq/WordCount.git GIT用户名  gentlemanzq 结对伙伴博客地址 https://home.cnblogs ...

  2. WordCount结对编程

    合作者:201631062602,201631062114 代码地址:https://gitee.com/Changyu-Guo/pairing_project 作业链接:https://www.cn ...

  3. 结对编程项目——C语言实现WordCount Web化

    结对编程项目 代码地址 201631062219,201631011410 gitee项目地址:https://gitee.com/xxlznb/pair_programming 作业地址:https ...

  4. Jason Wang: 结对编程 CountWord(第三次作业)

    本次作业地址: https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/homework/2882 学号: 201731072323 ...

  5. 结对编程--基于android平台的黄金点游戏

    游戏内容: 阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫“黄金点”的游戏: N个同学(N通常大于10),每人写一个0~100之间的有理数 (不包括0或1 ...

  6. 结对编程-地铁续(有种上个学期OO的既视感)

    我们组比较特殊..三人结对 github:https://github.com/qingchanghan/WPFUI_Metro po一张照片: 石浩然,韩青长.陈彦吉 (台式机真的很高端,分屏贼帅) ...

  7. 结对编程项目——四则运算vs版

    结对编程项目--四则运算vs版 1)小伙伴信息:        学号:130201238 赵莹        博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...

  8. 关于软件工程结对编程作业 PairProject : Elevator Scheduler(电梯调度算法的实现与测试)的总结

    1)结对编程队友 1106xxxx 张扬 1106xxxx 杨军 其中,此项目的编程实现主要由前者完成. 2)关于结对编程 结对编程的优点: 最直接的一点:在结对编程中,由于有另一个人在你身边和你配合 ...

  9. 结对编程—黄金点游戏WinForm单机版

    本小游戏场景来自邹欣老师的<移山之道>一书: "阿超的课都是下午两点钟,这时班上不少的同学都昏昏欲睡,为了让大家兴奋起来,阿超让同学玩一个叫"黄金点"的游戏: ...

随机推荐

  1. Spring Boot2.0之统一处理web请求日志

    试问,你的项目中,如果有几万个方法,你还这么写log.info("name"+name+",age"+age )日志么?low~ 所以用AOP呀 1.首先创建个 ...

  2. VLAN(虚拟局域网)划分

    VLAN根据不同的需求,可以有多种划分方式: 一:静态划分 基于端口             按VLAN交换机上的物理端口和内部的PVC(永久虚电路)端口来划分 静态划分安全.可靠,易于配置与维护 二 ...

  3. JAVA-配置path环境

    配置path环境变量变的目的是什么? 控制台可以在任意的路径下都可以找到java的开发工具. 为了说明几个JDK环境变量的作用,这里先给出环境变量的定义 环境变量: 环境变量一般是指在操作系统中用来指 ...

  4. codeforces 558B B. Amr and The Large Array(水题)

    题目链接: B. Amr and The Large Array time limit per test 1 second memory limit per test 256 megabytes in ...

  5. bzoj2309 CTSC2011 字符串重排

    题意: 给定n个字符串S1,S2,S3,...,Sn,把它们排序 设排序结果为Sp1,Sp2,Sp3,...,Spn 现在给定q个任务,每个任务的格式都是"要求在排序结果中Sa恰好在Sb前一 ...

  6. Spring MVC 中/和/*的区别

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...

  7. linux 几个逼格高实用的命令

    1.xargs [root@gdpsq1x25 log]# find . -type f -name "*.log" |sort -rn./yum.log./sssd/sssd_s ...

  8. 1111 Online Map (30)(30 分)

    Input our current position and a destination, an online map can recommend several paths. Now your jo ...

  9. phantomjs学习

    PhantomJS快速入门 本文简要介绍了PhantomJS的相关基础知识点,主要包括PhantomJS的介绍.下载与安装.HelloWorld程序.核心模块介绍等.由于鄙人才疏学浅,难免有疏漏之处, ...

  10. Hbase之三:Hbase Shell使用入门

    HBase 为用户提供了一个非常方便的使用方式, 我们称之为“HBase Shell”.HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell 用户可以方便地创建.删 ...