zoukankan      html  css  js  c++  java
  • 轻谈“结对编程”

     1.问题描述

    某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做。

    2.结对编程代码如下:

    package com.wangzuying.jieduibiancheng;

    import java.util.Random;

    public class AutoGetProject {

    private static Random random = new Random();
    private final static int COUNT = 30;

    private static boolean getProject() {
    int num1 = random.nextInt(101);
    int num2 = random.nextInt(101);
    int index = random.nextInt(4);
    String str = "";
    boolean flag = false;
    int answer = 0;
    switch (index) {
    case 0:
    answer = num1 + num2;
    if (answer > 100) {
    break;
    }
    str = num1 + "+" + num2 + "=";
    flag = true;
    break;
    case 1:
    if (num1 < num2) {
    break;
    }
    str = num1 + "-" + num2 + "=";
    flag = true;
    break;
    case 2:
    answer = num1 * num2;
    if (answer > 100) {
    break;
    }
    str = num1 + "*" + num2 + "=";
    flag = true;
    break;
    case 3:
    if (num2 == 0) {
    break;
    }
    str = num1 + "÷" + num2 + "=";
    flag = true;
    break;
    }
    if (flag) {
    System.out.println(str);
    }
    return flag;
    }

    public static void main(String[] args) {
    System.out.println("随机得到的30道四则运算题目如下:");
    int count = 0;
    do {
    if (getProject()) {
    count++;
    }
    } while (count < COUNT);
    }

    }

     3.运行结果

     

    4.心得体会

    第一次听说“结对编程”,初听起来,颇为有趣实际操作起来,才发现诸多漏洞。俗话说:“站在岸上学不会游泳!”,

    当你真的动手去做了,必定有收获。

          根据对李老师讲述的理解,带着好奇,揣着乐趣找个队友便开始我们的“结对编程”之旅。队友编程能力较强些,她

    负责敲代码,我负责在她编码同时查看是否出错。再者,我们必须先进行沟通,我们即将实现什么样的功能?如何实现?

    甚至细化到用什么类来实现,需要什么返回类型。

      首先结对项目的好处有:
      (1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力。
      (2)对开发人员自身来说,结对工作能让自己的工作更有意义,不会陷入一个人孤军奋战的想法中。
      (3)在心理上,  当有另一个人在你身边和你紧密配合, 两个人都会考虑对方的感受,比单独做更有责任感。
      (4)在企业管理层次上,结对能更有效地交流,相互学习和传递经验,能更好地处理人员流动。因为一个人的知识已
                 经被其他人共享。
      (5)在项目上,结对工作可以融合两个人的想法,可以避免一些低级的错误,使整个开发过程更加的高效; 如果运用
                 得当,结对编程能得到更高的投入产出比。

          我觉得每人在各自独立设计、实现软件的过程中不免要犯这样那样的错误。在结对编程中,因为有随时的复审和交流,

    程序各方面的质量取决于一对程序员中各方面水平较高的那一位。这样,程序中的错误就会少得多,程序的初始质量会高

    很多,这样会省下很多以后修改、测试的时间。

          经过这次结对编程后,收获良多。不仅认识了另一种编程方式,还深刻的体会到了,自己是很难意识到自己的错误的。

    所以,可以把队友当成一面镜子,完善程序,也完善自己。

  • 相关阅读:
    项目各方面的目标
    WPF : Imaging
    在Windows EndSession时, WPF的Shutdown()和Winforms的Application.Exit()都不可靠
    软件运行流程
    做事首先要想到的是责任和分配机制
    RhinoMocks : Stub和Mock的区别
    Visual Studio Marco : CollapseLogRegions
    使用C#实现顺序队列
    MVC 分页
    sql 行列转置(将行转换为列)
  • 原文地址:https://www.cnblogs.com/wangzuying/p/5308070.html
Copyright © 2011-2022 走看看