合作者: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/,在此表示感谢。此外,单元测试与性能测试与同伴一样。

转载于:https://www.cnblogs.com/hechunhang/p/9824471.html

WordCount by C# 结对编程相关推荐

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

    Github项目地址:https://github.com/WHYNOTEN/WordCount.git 合作同学作业地址:https://www.cnblogs.com/Mchandu/p/1065 ...

  2. [2022软工第三次作业]结对编程项目——最长英语单词链

    项目 内容 本作业所属课程 2022年北航敏捷软件工程教学实践 本作业要求 结对编程项目-最长英语单词链 个人课程目标 学习到软件工程的方法论,了解整个过程,并进行亲自实践 本作业在哪个具体方面帮助我 ...

  3. 结对编程项目-最长英语单词链

    项目 内容 这个作业属于哪个课程 2022 年北航敏捷软件工程 这个作业的要求在哪里 结对编程项目-最长单词链 我在这个课程的目标是 学习软件工程相关知识,提高自己的代码能力与团队协作能力. 这个作业 ...

  4. 结对编程——单元测试

    结对编程 结对人:宫成荣 代码如下: #include<stack>                #include<iostream> #include<deque&g ...

  5. 软件工程网络15结对编程作业

    软件工程网络15结对编程作业 1.项目成员 学号:201521123014 博客地址:http://www.cnblogs.com/huangsh/ 学号: 201521123102 博客地址:htt ...

  6. 结对编程-马尔科夫链作业成绩

    结对编程-马尔科夫链作业成绩 作业博客:http://www.cnblogs.com/vertextao/p/6881960.html 问题 本次作业仅有三位同学按时提交,两位同学延迟提交,出人意料, ...

  7. 和AI结对编程!OpenAI与GitHub联手推出AI代码生成工具,比GPT-3更强大

    作者 | 琰琰.青暮 比GPT-3更强大! 昨日,微软与OpenAI共同推出了一款AI编程工具GitHub Copilot,这款工具基于GitHub及其他网站的源代码,可根据上文提示为程序员自动编写下 ...

  8. 结对编程--------四则运算 实验总结2

    结对编程----------四则运算 实验总结2 结对对象 20172301 郭恺 20172328 李馨雨 过程截图 这个是我们编写的main,叫ArithmeticTest1主要用于生成随机等级的 ...

  9. 结对编程-Core 第12组 [pb15061359+pb15061351]

    一.项目要求 1.输入题目数量,生成操作数为3~5个的四则运算题目 2.输入上限值控制生成的操作数的最大值以及结果的最大值 3.输入支持的操作符类型:加.减.乘.除.乘方.括号 4.输入支持的操作数类 ...

最新文章

  1. ubuntu05.04 linux2.6.10 内核安装
  2. oc之Mac-响应链(Responder Chain)
  3. 熟悉java环境实验报告_2018-2019-2 20175324实验二面向对象程序设计《Java开发环境的熟悉》实验报告...
  4. 一个div 上下两行_Django 实战 | 搭一个 GitHub 用户展示网站 02
  5. XML与HTML的作用不同
  6. C# 读取Excel CSV 类型文件到DataSet中,反之从DataSet写入excel
  7. Android/Java面试题,边面试边成长,为了应试而应试
  8. Novernber Rain
  9. CVPR 2022数据集汇总|包含目标检测、多模态等方向
  10. 最好用的五大服装进销存管理软件,强推第一个
  11. 云计算(Cloud Computing)
  12. 中国房企加速并购重组
  13. 安卓智能地图开发与实施:三维地图 - ArcGIS Runtime SDK for Android
  14. 移动端html5广告的优势,移动端H5广告的互动类型探析
  15. 办公用PC机的CPU是基于冯诺伊曼结构,然而单片机是哈佛结构的
  16. 数学建模国赛全过程回顾
  17. GatewayWorker 与 Workerman的关系
  18. ROS集成开发环境 --- RoboWare(安装及学习笔记)
  19. Java的应用领域有哪些
  20. python批量下载数据|工具箱

热门文章

  1. 构造方法和方法的重载。
  2. Angular下通过命令创建组件至指定文件夹下
  3. 从一个故障说说Java的三个BlockingQueue
  4. java高级应用:线程池全面解析
  5. MySQL 打开federated存储引擎
  6. 在当前PJ项目pj_nath模块加入mysql的一些问题
  7. 数据包分片和重组 MTU与MSS
  8. log4j2配置文件log4j2.xml详解
  9. 数据结构-二叉树、完全二叉树、森林等(基础讲解)
  10. java 1.7升级到1.8_CentOS openJdk1.7升级1.8