结对编程(二)

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

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

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

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

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

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

实验过程

角色分工

            驾驶员        领航员

前期         何国行        汤友丽

中期         汤友丽        何国行

后期         何国行        汤友丽

1、代码规范

-编码:采用utf-8编码

-代码格式:使用空格进行缩进;控制行宽,方便查看代码;留有空行,使代码看起来清晰明了

-注释:注释部分与代码主体部分留有空格,使清晰明了;注释部分尽量不换行,以免产生误解;不做无意义的注释

-命名规范:各函数、变量、类命名时统一格式

2、程序的总体设计

此程序模块之间的关系(附图):

3、程序结对编程过程及功能实现情况

1)陈旧代码:

在本次实验中,我们对于实验代码进行了不同方向的探索与完善,最终统一了实验代码。下面为我们第一次的代码:

 

代码主要问题有:

我们所用的开发平台pycharm和所用的在线编辑工具ideone不兼容;

部分功能未实现,如统计功能;

为满足四则运算结果和与积小于等于100。

后来我们又讨论如何解决问题,继续完善代码

 

2)在线合作编辑

附图:

我们所使用的在线编辑可以完成共同编辑的目的,在编辑工具下我们进行通讯完善代码,然后将所完善的内容在编辑器上进行填充,已达到让双方可以实时观看到结果的目的,以此循环,直至代码完全结束。

merge截图

 

 

3)最终代码:(主要代码部分)

def szys():
    sym = ['', '', '×', '÷']

    f = random.randint(0, 3)

    n1 = random.randint(0, 100)

    n2 = random.randint(0, 100)

    result = 0

    if f == 0:  # 加法

        result = n1 + n2
        
        if result >= 100:
        
            result = szys()
            
            return result

    elif f == 1:  # 减法,要先比较大小,防止输出负数

        n1, n2 = max(n1, n2), min(n1, n2)

        result = n1 - n2
        
        if result >= 100:
        
            result = szys()
            
            return result

    elif f == 2:  # 乘法

        result = n1 * n2
        
        if result >= 100:
        
            result=szys()
            
            return result

    elif f == 3:  # 除法,要比较大小,并循环取整除

        n1, n2 = max(n1, n2), min(n1, n2)

        while n1 % n2 != 0:
        
            n1 = random.randint(1, 10)

            n2 = random.randint(1, 10)

            n1, n2 = max(n1, n2), min(n1, n2)

        result = int(n1 / n2)
        
        if result >= 100:
        
            result = szys()
            
            return result
            
    if result <= 100:
    
        print(n1, sym[f], n2, '= ')

    return result

运行结果如下(附图):

4、项目github地址:https://github.com/heguohang/pair_programming

附图:

 

实验小结

实验初我们是想用pycharm编辑代码,但是结对起来比较困难。后来我在网上看到了在线编程平台,可以协同编辑代码。和队友商议使用后觉得可以,再结合qq聊天完成了本次结对编程。一共迭代了三次版本的代码,第一次的未完成产生指定题目的功能,第二次未能使运算结果的和与积小于或等于100。通过本次结对编程,了解到了结对编程中两人相互合作的重要性。

 

 

 

 

posted @ 2020-03-29 22:07  cshgh  阅读(155)  评论(0编辑  收藏  举报