一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、组队情况:
1、队名:WxWz
2、各队员博客地址:3170701103 王旭(https://www.cnblogs.com/014wangxu/)
3170701104 王振(https://www.cnblogs.com/wshu221/)
3、课题及仓库:四则运算 https://www.gitHub.com/jdbcsy/yunsuan
四、实验过程
1、代码规范
语言采用C语言,代码规范化基本上有七大原则,体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。
具体规范如下链接:http://c.biancheng.net/view/158.html
2、程序的总体设计(附图说明模块之间的关系)
整体模块如下程序所示:
doExercise()是在一个循环体内,循环体开始是菜单showMenu()与用户选择界面getChoice(),用户选择的题目类型进入doExercise(),在其中进行运算操作test()循环十次,完成后返回菜单showMenu(),循环体一直循环由用户输入0为结束。
程序流程图如下:
3、程序结对编程过程(附图)及功能实现情况(附代码和图)
本次结对编程采用fork与pull request结合的方式完成:
具体两人进行了四次交互
(1)、第一次由王旭对代码进行了整体的规划与上传
(2)、第二次由王振添加了对错误更有效地处理
改进之前:
改进之后:
代码如图:
(3)、第三次由王振对运行界面进行了优化
一开始界面主菜单和题目同时存在,并且没有题目类型提示:
优化后:
代码如下:
(4)、第四次由王旭对代码进行了检错与整理
最终结果运行图如下:
4、项目github地址(附图)
https://github.com/jdbcsy/yunsuan
五、实验总结
这次实验让我更深刻的了解和认识到了结对编程对于用户的有利之处,他可以使多人同时编辑一个文档,编程的过程中多人交流可以让过程不那么枯燥,同时双方可以互相给对对方灵感与思路,让编程更加简单。同时如果编程过程中出现错误,双发可以及时提出并纠正错误,让编程更加有效率,更加容易。结对编程还可以使编程者学习到别人的思路与想法,促进编程者的能力成长,使他们在编程的路上越来越成功。
原文地址:https://www.cnblogs.com/014wangxu/p/12590928.html