软工网络15结对编程练习 ---201521123093 赵铭

结对编程

成员信息:
201521123093 赵铭
201521123103 吴雅娟
码云地址:https://gitee.com/pair_programming/daima


1、改进现有的代码

原博客地址:http://www.cnblogs.com/NianQiFeng
(原)源代码:https://coding.net/u/qwx_hh/p/java-szys/git
原题目要求:


2、需求分析

  • 支持中文和英文语言切换
  • 实现基本的加减乘除四则运算(包括括号)(整数与分数)
  • 能够计时计算所需的时间
  • 记录历史正确率和全部

2.1源码分析与修正

  • 登录界面不完整,在语言选择方面没有明确的按钮或者其他的提示,直接点击字切换语言,导致用户会不了解

    改进:使用按钮切换语言并增加了标题

3.程序设计

  • 原来的代码覆盖率

  • 修改后的代码覆盖率


    -功能图

4.代码展示

  • 界面修改:
 jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "请选择语言:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 1, 18))); // NOI18N

        jLabel1.setText("         欢迎来到四则运算系统!");
        jLabel2.setText("所需习题数:");
        jLabel3.setText("(1-10之内)");
        
        Chinese_Button.setText("中文");   //选择中文
        Chinese_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Chinese_ButtonActionPerformed(evt);
            }
        });
        
        Engllish_Button.setText("English");  //选择英文
        Engllish_Button.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Engllish_ButtonActionPerformed(evt);
            }
        });
private void Chinese_ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                               
        // TODO add your handling code here:
        jLabel1.setText("欢迎来到四则运算系统!");
        jLabel2.setText("所需习题数:");
        jLabel3.setText("(1-10之内)");
        Sure_Button.setText("确定");
        Cancel_Button.setText("取消");
        
        l=1;
    }     
    private void Engllish_ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                
        // TODO add your handling code here:
        jLabel1.setText("Welcome to the four computing system!");
        jLabel2.setText("How many questions:");
        jLabel3.setText("(between 1 and 10)");
        Sure_Button.setText("Sure");
        Cancel_Button.setText("Cancel");
        l=2;
    }        
  • 加括号:
public String int_operation()   //整数计算
    {
        int result = 0;
        if(a==0)
            result=f+g;
        if(a==1)
            result=f-g;
        if(a==2)
            result=f*g;
        astr = String.valueOf( result);
        if(a==3)
        {
            if(g==0)
            {
                astr=int_operation();
                return astr;
            }
            else
            {
                if(g!=0&&g!=1){
                    int d=common_divisor(f,g);  //公约数计算函数
                    f=f/d;
                    g=g/d;
                    astr = (f+"/"+g);
                }
                if(g==1)
                    astr=(""+f);
            }
        }
        if(a==4)   //新加的
        {
        	if(m==0){    //m==0时是减法
        		result=(f-g)*n;  
        	}
        	if(m==1){
        		result=(f+g)*n;  //m==1时是加法
        	}
        }
        return astr;
    }

5.程序运行

  • 界面

  • 计算

6.码云截图和PSP

  • 码云截图
  • PSP表格

7.小结感受

  • 修改别人的代码真的真的真的很难受,首先要先了解他们的代码规范,每个定义是什么含义,每个函数的作用是什么,如果定义模糊的话还要去猜意思真的挺累的;所以啊,在编程的时候定义一个变量尽量让人看得懂,不然既费眼又费脑
  • 我和我的队友对这个代码简直就是一脸懵逼,对于编程基础听薄弱的人来说,更是挺吃力的,这几天看代码真的有时候都想放弃了,可是总觉得背后有好几双眼睛在盯着,硬着头皮只能上了
  • 结对编程还OK的,至少可以互相商量不知道怎么下手的还可以一起琢磨,一个人也许就原地爆炸了,两个人可以一起分担编程的“乐趣”...
  • 事实告诉我,编程基础真的很重要!!!

8.结对照片


原文地址:https://www.cnblogs.com/zhaoMing3/p/8645188.html