结对编程

结对编程

Github项目地址 Github项目地址
结对伙伴博客地址 博客链接

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 30
· Estimate · 估计这个任务需要多少时间 20 25
Development 开发 150 100
· Analysis · 需求分析 (包括学习新技术) 60 100
· Design Spec · 生成设计文档 10 10
· Design Review · 设计复审 (和同事审核设计文档) 20 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 10
· Design · 具体设计 120 60
· Coding · 具体编码 720 400
· Code Review · 代码复审 30 15
· Test · 测试(自我测试,修改代码,提交修改) 120 60
Reporting 报告 30 25
· Test Report · 测试报告 30 25
· Size Measurement · 计算工作量 60 30
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计 30 60
合计 1430 960

计算模块接口的设计与实现过程

整体思路流程图:

代码复审过程

共同代码规范参考链接

代码规范 具体说明
函数名以及变量名 以名字的英文形式呈现,读代码便于理解函数功能,名字注意大小写,一般变量用小写,函数名用大写
代码注释 ①对代码加以注释,便于改动、查找、阅读 ②注释位置最好在被说明内容的前一行或后一行,而不是直接加在其后
代码布局 ①每一行只写一句代码 ②每一行只对一个东西进行声明③ 在不同的定义之后加一行空白用以分开④注释位置最好在被说明内容的前一行或后一行,而不是直接加在其后⑤缩进控制在4个字符⑦在复杂的条件表达式中,用括号清楚地表示逻辑优先级

在和结对伙伴互审的过程中,因为刚开始我有些表达式没有括号,伙伴给我指出了问题,进行了一定的修改,让表达式看起来更加规范,易懂

计算模块接口部分的性能改进

对于计数功能的函数进行了类的封装,修改了函数的参数

字符获取修改了遍历的方案,通过翻书,再对文件流的学习,了解C++中文件流函数的成员函数,通过调用文件流的成员函数,设置文件内部指针,获取字符数

性能分析图:

单元测试展示:

因为在第二次作业中,没有弄明白Git的提交,所以这次和我的结对伙伴好好地研究了一下git的提交:


计算模块部分异常处理说明

(1)因为未学习到C++中的文件流操作,所以文件操作一开始采用的是C中fopen函数,但编译器显示不安全,因此对文件操作,学习了C++的文件流操作后采用C++中的文件流操作

(2)计数封装过程中出现形参与实参的不兼容和文件流成员函数read函数第一个参数的不兼容,对此通过 new char[length]来改进,实现兼容

描述结对的过程

个人总结

这次结对编程虽然功能实现的不完整,但从此次编程中,我学到很多新知识,重温了很多旧知识,也发现了自身的编程能力仍存在很大缺口,还需要多练多学,其次在编程的后续过程中,我发现自身因为知识储库的不足,在实践过程有些思绪就变得非常模糊,导致编程的滞后,然后通过查阅书籍和观看别人博客中自己出现的异常错误,进行逐一地修改,使得功能规划地再次更改,慢慢达到所需实现的功能。总结下来,自身的编程能力仍需要多加练习,对于理论和知识点应加以实践,学习一些软件框架的构建,使得以后的设计规划更完善。

并且在此次结对的编程中,我十分的感谢我的结对伙伴,因为水平相似,我们都去学习了很多新的知识,在遇到难题时,她也帮我解决一些疑难问题,并且有她在旁边的监督,也提高了我的编程效率,切身体验到了1+1>2的效果

posted @ 2019-10-15 19:20  依言  Views(196)  Comments(1Edit  收藏  举报