• 轻谈“结对编程”


     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)在项目上,结对工作可以融合两个人的想法,可以避免一些低级的错误,使整个开发过程更加的高效; 如果运用
                 得当,结对编程能得到更高的投入产出比。

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

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

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

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

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

  • 相关阅读:
    Android学习笔记_27_多媒体之视频刻录
    Android学习笔记_26_多媒体之拍照
    Android学习笔记_25_多媒体之在线播放器
    Android学习笔记_24_多媒体MediaPlayer对象之音乐播放器与SoundPool声音池
    多线程下载
    Android学习笔记_23_服务Service之AIDL和远程服务实现进程通信以及进程间传递自定义类型参数
    MySQL 面试必备:又一神器“锁”,不会的在面试都挂了
    当 Redis 发生高延迟时,到底发生了什么
    Spring MVC 到 Spring BOOT 的简化之路
    MySQL的可重复读级别能解决幻读问题吗?
  • 原文地址:https://www.cnblogs.com/wangzuying/p/5308070.html
Copyright © 2020-2023  润新知