第四次作业:结对编程

软工第四次作业:结对编程

姓名 吕涛
学号 201831071324
github https://github.com/bjfubjn
这门课地址 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation
作业地址 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/8708
队友博客 https://www.cnblogs.com/yeyeah/

1解题思路:

在刚刚开始拿到这个题目的时候我和队友是感到很难受的,因为对于我们现在来说,只是学了c语言和一个数据结构,c++课程都仍然没有上完,再看到那么复杂的题目与专业名词后感到真的无从下手,在开始编写代码前,我们确定了分工以及还要去了解与学习的东西,受先这个是要用到命令行程序那么我就先去查找命令行程序应该怎么使用怎么编写以及需要注意的事项,然后发现导入数据时并不是像我们原来一直学的win32的控制台应用程序那样可以直接输入进去,而是要给出一个txt文件并且利用命令行将所写的txt文档进行导入,由于我和队友都是转专业的,所以文件方面的知识我们都没有过相应的学习经历,所以只好从头学起,首先翻C语言的书籍,然后在慕课上面查找相应的文件的视屏进行学习,经过了一段时间的学习后总算有了一点眉目,然后开始着手写代码,我负责的部分是文件相关的内容,比如说怎么导入文件或者说是导出一个文件以及命令行程序的使用,有与这学期计科的课程比较多所以时间很紧张,我和队友周末都再做各种作业,而且像大物这种课又比较难并且这周一下有两个作业所以也是忙得焦头烂额,最后在付出大量的时间后写出来基本的程序框架。

2设计实现过程:

我个人负责的是文件以及命令行部分,所以首先是写上头文件fstream,然后再利用FILE 或者outfile等函数将具体的功能进行逐一的实现,命令行的操作的话较为简单,在网上查阅了相关资料后就知道如何操作,在初期我们打算构建5个函数,当然这可能和最后的情况有所出入,其中最为关键的函数我认为是对单词数目计算的函数,这个函数难度比较大,我们再结合了书本以及网上代码后写出了自己的有关函数,然后是字符数统计函数以及行数,英文字母统计等函数。

3代码规范:

以下为我们使用的代码规范:https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/

4历程与收获:

其实这次作业对我个人而言的话是一个极大的挑战因为转专业的原因所以接触代码的时间比较短,而且作业中出现了大量我根本没听说过的知识,为此也付出了极多的时间去学习,反正感觉这一周的时间基本都扎在这个项目上了,当然有付出也会有所回报,比如我懂得了文件的基础知识,而且在和队友一起结对编程的过程中,我也从他的身上学到了很多的优点,比如代码的规范问题,函数的改进以及处理问题的思路等方面我都从他身上有所学习,在构建之法中的话我感觉书中的东西太过于泛泛而谈,没有实际的代码与例子,只是对软件设计基础有了一个大概的了解,总而言之这次结对编程经历虽然难度非常大,但是最终也还对此有所收获吧。

程序运行过程截图

第四次作业:结对编程_第1张图片

首先找到项目所在位置

第四次作业:结对编程_第2张图片

然后在路径那里直接输入cmd也就是作业中所要求的命令行(才学的不知道这样操作对不对),按下回车出现如下图所示界面
第四次作业:结对编程_第3张图片

接着输入可执行文件exe这里是什么名字具体取决于你的解决方案名称

第四次作业:结对编程_第4张图片

然后再将一个叫做测试数据的txt文档输入(这里文档的名字由于程序的设计只能叫做测试数据)按下回车
第四次作业:结对编程_第5张图片

首先给出之前的文件图面

第四次作业:结对编程_第6张图片

按下回车
第四次作业:结对编程_第7张图片

再检查文件夹发现多了一个Result.txt的文件这就是输出的文件(也是这周现学的)

第四次作业:结对编程_第8张图片

打开它

第四次作业:结对编程_第9张图片

这就是输出结果

github截图:
第四次作业:结对编程_第10张图片
第四次作业:结对编程_第11张图片

5代码复审

1:我们代码量并不是很大,所以编写的过程中出现了很多的错误,并且现学了好些新的知识才很勉强的完成了这次作业

2:我们采用的是最问常见的写了再改模型,所以在编码过程中遇到错误会带来很大麻烦,因为一个地方修改了以后就会导致后面的地方全部修改而且经常还会漏改

3:这次作业中我负责文件部分,这部分代码复审时还是发现了不少的错误,运行时前几次也没有很好地成功运行

4:我的同伴负责的是函数部分,在具体调用时也发生了一些报错,不过在我和他一起结对的时候当我充当领航员时也就是观察他写代码时还是发现了一些错误并且给出来了相应的修改意见

5:设计缺陷无疑还是很大的,因为这是我们第一次接触这方面的东西所以还是有很大值得改进的地方希望在日后继续努力吧。

你可能感兴趣的:(第四次作业:结对编程)