• 结对编程(二)


    实验目标
    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。通过本次结对编程,了解到了结对编程中两人相互合作的重要性。

     

     

  • 相关阅读:
    Spring IOC之容器概述
    SQL Server之记录筛选(top、ties、offset)汇总
    [译]Java 设计模式之单例
    [译]Java 设计模式之适配器
    [译]Java 设计模式之桥接
    [译]Java 设计模式之装饰器
    [译]Java 设计模式 之模板方法
    [译]Java 设计模式之抽象工厂
    [译]Java 设计模式之工厂
    传入两个字符串,确认其中一个字符串重新排序后能否变为另一个字符串(也就是两个字符串相等)
  • 原文地址:https://www.cnblogs.com/cshgh/p/12589163.html
Copyright © 2020-2023  润新知