结对编程 第二阶段

一、实验目标
1)体验敏捷开发中的两人合作。

2)进一步提高个人编程技巧与实践。

二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;

2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。

3)要求在结对编程工作期间,两人的角色至少切换 4 次;

4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行。

三、实验过程

1、代码规范

1)变量名要通俗易懂

2)写一些标注,但不要写太多注释,比如没必要的注释

3)注意缩进

4)括号要对齐     

5)一行代码只做一件事情,如只定义一个变量,或只写一条语句。这样的代码容易阅读,并且便于写注释。

6)if、else、for、while、do 等语句自占一行,执行语句不得紧跟其后。此外,非常重要的一点是,不论执行语句有多少行,就算只有一行也要加{},并且遵循对齐的原则,这样可以防止书写失误。

原博客地址:https://blog.csdn.net/chk218/article/details/84452612?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158536827119724811818785%2522%252C%2522scm%2522%253A%252220140713.130056874..%2522%257D&request_id=158536827119724811818785&biz_id=0&utm_source=distribute.pc_search_result.none-task

2、程序的总体设计(附图说明模块之间的关系)

四则运算计算前首先应该判断+-*/之间的优先级

 我这流程图画的确实挺丑的。

3、程序结对编程过程(附图)及功能实现情况(附代码和图)

刚开始我和王锦同学用的是QQ的屏幕共享功能,在王锦同学的电脑上编译和运行代码。

我来口述,王锦同学来敲代码;王锦同学敲代码,并跟我说明功能这两种状态交替进行实现了角色互换。

其中由王锦同学编写了运算数、运算符还有堆栈的代码;我编写了编写判断输入的符号是否是四则运算符号、判断符号的优先级、两数运算。

 下面是我们结对编程的过程截图。

 

后来王锦同学说让我也控制键盘,我们又尝试使用远程控制桌面的方法,完成了实验。

我们的代码实现了差不为负、商不为分数、每答完一题就判断对错并统计答对的题数和分数的功能。

下图是运行结果截图:

4、项目github地址(附图)

我们代码编写完将代码托管到GitHub上,

github仓库地址 :https://github.com/Wjinfiny/daimaqiaobu

5、实验总结

1)编程能力还是有限,没有实现随机产生十个算式的功能,所以讨论后还是采取了手动输入题目的方法,但也是由于手动输入,就没有了四则运算字符串长度的随机性,降低了难度。

2)但是在编程中遇见的很多问题都顺利解决了。比如:运算结果不能得到分数和负数,判断减数大于被减数,除数除以被除数的余数得零就可以实现。设置出错情况下result=-1000,这样就主函数进行判断,就不会计算不规范的式子  。

结对编程跟以往的实验都不太一样,很考验双方的协作能力,我跟王锦同学之间的水平差距还是挺明显的,多数时间都是我在问问题,王锦同学给我解答。

原文地址:https://www.cnblogs.com/lingluan23333/p/12587574.html