标签:div 目标 绑定 tps code 合作 python mic cell
一、实验目标
  1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
  1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
四.程序实现
package com.cisco.gendwang;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class LifeGame extends JFrame
{
    private final World world;
    
    public LifeGame(int rows, int columns)
    {
        world = new World(rows, columns);
        new Thread(world).start();
        add(world);
    }
    
    public static void main(String[] args) 
    {
        LifeGame frame = new LifeGame(40, 50);
        
        JMenuBar menu = new JMenuBar();
        frame.setJMenuBar(menu);
        
        JMenu options = new JMenu("Options");
        menu.add(options);
        
        JMenuItem arrow = options.add("Arrow");
        arrow.addActionListener(frame.new ArrowActionListener());
        
        JMenuItem square = options.add("Square");
        square.addActionListener(frame.new SquareActionListener());        
        
        JMenu help = new JMenu("Help");        
        menu.add(help);
        
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(1007, 859);
        frame.setTitle("Game of Life");
        frame.setVisible(true);
        frame.setResizable(false);
    }    
    
    class ArrowActionListener implements ActionListener
    {
        public void actionPerformed(ActionEvent e) 
        {
            world.setArrow();
        }
    }
    
    class SquareActionListener implements ActionListener
    {
        public void actionPerformed(ActionEvent e) 
        {
            world.setSquare();
        }
    }    
}
五.运行结果

六.github地址
https://github.com/cheng-xiang-star/cheng.git
实验小结
从前写代码都是一个人的事,数据结构和算法包括给函数命名都比较随意,为了方便自己的理解,遵循自己的规则就好。但结对编程需要两个人的智慧,一边沟通一边编写。在约定用什么样的数据结构,什么样的算法,什么样的接口,甚至函数命名都需要两人共同交流完成,虽然过程繁琐,但程序的准确性提高了。一些容易犯的编写错误,经过两个人的检查,也更容易被发现和指出。虽然看似效率不如以前一个人编写时高,但是实际上代码结构更加清晰,出现bug的几率也更小了。总的来说,除了比较累,这样的编程方式还是很优秀的。
标签:div 目标 绑定 tps code 合作 python mic cell
原文地址:https://www.cnblogs.com/cheng123-/p/12640453.html