第三次作业姜

第三次作业 结对编程

一、编码要求

  1. Fork github 项目https://github.com/YuRenDaZ/WordCount到自己的仓库,在Github仓库中新建一个以一位同学的学号为名的文件夹,用于建立C#的项目和第二次作业类似。(结对的两人中任意一人的学号都可以)。
  2. 在开始实现程序之前,在PSP表格[附录1]记录下你估计在程序开发各个步骤上耗费的时间,在你实现程序之后,在PSP表格记录下你在程序的各个模块上实际花费的时间。
  3. 使用C#语言实现,C#请使用Visual Studio Community 2017进行开发。
  4. 制定编码规范,可以参考C#语言的规范:简版讨论版。(邹欣老师在讲义“现代软件工程讲义 3 代码规范与代码复审”中所讨论的有关代码规范与代码复审的内容。内容短小精炼,适合快速入门。)
  5. 代码自审并修正,每个人都独立完成了自己的功能任务,对照编码规范,审查修改自己的程序代码并使其符合规范要求。
  6. 代码互审,按照共同制定的编码规范,审查合作伙伴的代码并记录发现的问题。
  7. 合并代码,两人协商,将两部分代码合并,形成初始版本。注意应设计合理的软件结构及模块划分。
  8. 提交的代码要求经过Code Quality Analysis工具的分析并消除所有的警告。
  9. 完成项目的首个版本之后,请使用性能分析工具Studio Profiling Tools来找出代码中的性能瓶颈并进行改进。
  10. 使用Github[附录2]来管理源代码和测试用例,代码有进展即签入Github(至少三次)。签入记录不合理的项目会被助教抽查询问项目细节。
  11. 使用单元测试[附录3]对项目进行测试,并使用插件查看测试分支覆盖率等指标;并写出至少10个测试用例确保你的程序能够正确处理各种情况。
  12. 在完成结对项目后,请按照预第二次作业的方式正确地发起一个Pull Request,并设置标题为本次统一使用的学号。

博客撰写要求

  1. 在文章开头给出结对使用的Github项目地址和结对伙伴的作业地址。(两个人使用同一个)注意:GitHub的地址必须是用于clone的地址即如下图片中的地方获取。(如果不是这个地址,助教就无法批量编译运行你们的程序,出现问题的都会被助教抽中询问详情)
  2. 描述结对的过程,提供非摆拍的两人在讨论的结对照片(一起工作编码时的照片)。
  3. 给出结对的PSP表格。
  4. 解题思路描述。即刚开始拿到题目后,如何思考,如何找资料的过程。
  5. 设计实现过程。设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?单元测试是怎么设计的?
  6. 给出你们制定的代码规范或链接,记录你们代码互审的情况,审查的模块名、发现的问题等。
  7. 记录在改进程序性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2017的性能分析工具自动生成),并展示你程序中消耗最大的函数。
  8. 代码说明。展示出项目关键代码,并解释思路与注释说明。
  9. 结合在构建之法中学习到的相关内容与结对项目的实践经历,撰写解决项目的心路历程与收获,以及结对感受,是否1+1>2。

注:两人都要提交博客,结对共同部分,可在其中一个人的博客给出(另一个人给出链接),不同部分分别写在自己的博客中。

三、项目需求说明

实现一个命令行程序,不妨称之为wordCount。

第一步、实现基本功能

输入文件名以命令行参数传入。例如我们在命令行窗口(cmd)中输入:

猜你喜欢

转载自www.cnblogs.com/Andrewhang/p/10660382.html