第三次博客作业

一、Github地址和伙伴作业地址

Github地址  https://github.com/tenyuanshuji/WordCount
伙伴作业地址  https://home.cnblogs.com/u/1297207451yq/

 

 

 

 

 

二、结对编程过程

    刚开始接触到这个任务时,我看了一下大概要求和流程,主要工作分为两个部分。编码和编码之外(包括代码审核,代码分块,单元测试),刚开始我们想的是两个一起编码,但是发现是很困难。因为影响因素太多了,两个人的编码习惯,甚至编译器版本不同都会影响模块结合。所以我们把任务分成了,两部分,我主要负责代码编译,他负责代码审核之类的。当然我们也不全是各做各的,当陷入死胡同时,也会去找他讨论解决问题。

附上照片一张:

 

三、PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 20  20

· Estimate

· 估计这个任务需要多少时间

 20  20

Development

开发

 850  950

· Analysis

· 需求分析 (包括学习新技术)

 30  40

· Design Spec

· 生成设计文档

 20  40

· Design Review

· 设计复审 (和同事审核设计文档)

 60  50

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 60  60

· Design

· 具体设计

 30  40

· Coding

· 具体编码

 600  650

· Code Review

· 代码复审

 20  30

· Test

· 测试(自我测试,修改代码,提交修改)

 30  40

Reporting

报告

 70  80

· Test Report

· 测试报告

 20  20

· Size Measurement

· 计算工作量

 20  30

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 30  30
 

合计

 940  1050

 

四、编码过程

     分析第一步功能要求时,发现这个程序互动性并不高,只需要输入文本名称即可,就没有考虑设计一个类来解决这个问题,只用静态函数就可以了。代码一开始的设计就只有三个静态函数,然后把函数封装进了类库。但是第三部要求时,明显增加了互动性的要求,但是现在再回去修改代码,设计一个类,工作量有点大。依然采取的是静态函数解决这个问题,同时还发现第五个功能和第三个功能效果有点重叠。所以把第三功能稍作了些修改设计出了第五功能,同时删除了第三功能。这个任务的难点,在单词的判断上,如何判断这是一个有效的单词。所幸的是群里有同学发了一篇关于正则表达式的文章,这极大的减轻了任务难度。不过我们遇见的难题不只有这一个,还有的就是文件操作,文件操作一直是我比较弱的方面,不了解操作的流程,但是都靠强大的百度功能解决了。这次编码,收获颇丰,也增加了自己的编码兴趣,觉得是一件很有趣的事。

五、代码设计流程

    主要有一个Main函数,五个功能函数(封装成了类库,在互动函数中调用),一个互动函数(用于接受指令)

关系流程图:

                                              

代码展示(未模块化):

 

单元测试(伙伴负责):https://home.cnblogs.com/u/1297207451yq/

异常获取:目前我只想到了两种可能的发生的异常,一是文件名错误,二是超出字符串组的界限。

                                                            


效能分析:

代码规范:VS2017自带规范

六、总结

     此次代码编辑收获挺大的,不过结对编程能不能实现1+1>2,在我看来是比较难度的。这涉及了很多的因素。只要某一环出现问题,两个人的进程其实都会受到很大的影响,因为另外一人不得不停下手中的工作去帮助另外一人。

 

posted @ 2019-04-05 15:30  月の色真美  阅读(157)  评论(6编辑  收藏  举报