結對編程練習

改進現有代碼

我選擇的代碼是
我的博客地址5:http://www.cnblogs.com/NianQiFeng ,源代碼:https://git.coding.net/qwx_hh/java-szys.gitjava

黃騰龍 201521123112 碼雲地址:https://gitee.com/Java_goddess
李心宇 201521123117 碼雲地址:https://gitee.com/lxxy/events
重構
clone項目,在開發環境中運行該應用程序,修改完畢最後上傳至碼雲,並在博客中給出連接git

檢查大部分主要類之間的關係,畫出類圖編程

代碼規範:app

Arithmetic類         //

    astr            返回答案字符串

    qstr            返回問題字符串

    int_operation()     整數計算函數

     fra_operation()        分數計算函數

    common_divisor(int m,int n)

    公約數計算函數

    toString()      輸出函數

    Frame類              //

    hs          實例化History

    hh          實例化QA_List

    timer           實例化Work_Time

    Time            計時器動態窗口

    answer1~10      輸入窗口

    Review          複習按鈕

    question1~10        題目顯示標籤

    Right_answer1~10    正確答案顯示標籤

    Tip1~10         提示正確與否標籤

    Time_cost       所花時間顯示標籤

    Right_percent       正確率顯示標籤

    Set_question        開始按鈕

    jLabel5         歷史正確題數

    jLabel7         歷史總題數

    rn          單次正確題數

    tot         單次總題數

    Frame()         Frame構造函數

    initComponents()    窗體顯示

    xxxClicked(KeyEvent evt)    

    點擊事件

    KeyPressed(JLabel i,JLabel j,JLabel l,int x,JTextField k)

    點擊事件批量處理函數

    Hide()          使不須要的輸入窗口關閉

    Tip(String answer,int i)提示對錯並計入


    Histroy類            //

    qstr            問題字符串

    astr            答案字符串

    str         答案+問題字符串(寫入文件)

    str2            正確題數+總題數字符串(寫入文件)

    tot         總題數

    rn          正確題數

    qstrlist        問題字符串列(讀入文件)

    astrlist        答案字符串列(讀入文件)

    scan(String qstr,String astr)

    qstr+" "+astr

    scan2(int tot,int rn)

    tot+" "+rn

    Histroy_create()    歷史文檔生成

    Histroy_save()      存儲歷史題目與答案

    Histroy_saveNum()   存儲歷史題目數目

    Histroy_read()      讀入歷史題目與答案

    History_num()       讀入歷史題目數目



    QA_List類            //

    i           加入列題目個數

    Qusetion        問題字符串列

    Answer          答案字符串列

    QA_List()       QA_List構造函數

    Test_Number類

    i           顯示Test_Number窗體次數

    l           語言轉化參數標識

    Cancel_Button       取消按鈕

    Sure_Button     肯定按鈕

    English         英文界面標籤

    Simplified_Chinese  簡體中文界面標籤

    Traditional_Chinese 繁體中文界面標籤

    Number          所需題數

    Test_Number()       Test_Number構造函數

    initComponents()    Test_Number窗體顯示

    xxxClicked(KeyEvent evt)    

    點擊事件



    Test類               //

    main(String[] args) 



    Work_Time類          //

    x           00:00.x

    y           00:y.00

    z           z:00.00

部分代碼展現ide

Time            //計時器
    public class Frame extends JFrame{
static double rn=0;
public static Histroy hs = new Histroy();
Timer timer = new Timer();
public static QA_List hh = new QA_List();
    double tot=hh.i;
    public List<JTextField> Field_list=new ArrayList<JTextField>();
public Frame() {
    super("Myapp");
    hs.Histroy_create();
    initComponents();
    if(Test_Number.l==1){
        Set_qusetion.setText("開始");
        jLabel2.setText("計時:");
        jLabel1.setText("正確率:");
        jLabel3.setText("用時:");
        Review.setText("複習");
        jLabel4.setText("正確:");
        jLabel6.setText("所有:");
    }
    if(Test_Number.l==2){
        Set_qusetion.setText("Start");
        jLabel2.setText("Timing:");
        jLabel1.setText("Correct rate:");
        jLabel3.setText("Time cost:");
        Review.setText("Review");
        jLabel4.setText("Right:");
        jLabel6.setText("All:");
    }
    jLabel7.setText(""+hs.tot);
    jLabel5.setText(""+hs.rn);
    }    

    Tip                    //正確錯誤提示輸出
     public String Tip (String answer,int i) {
    if(answer.equals(hh.Answer.get(i)))
    {
        rn++;
        if(Test_Number.l==1){
            return "(≧▽≦)正確";
        }
        if(Test_Number.l==2){
            return "(≧▽≦)right";
        }
        return "(≧▽≦)正確";
    }
    else
    {
        hs.scan(hh.Answer.get(i),hh.Qusetion.get(i) );
        hs.Histroy_save();
        if(Test_Number.l==1){
            return "(>﹏<)錯誤";
        }
        if(Test_Number.l==2){
            return "(>﹏<)wrong";
        }
        return "(>﹏<)錯誤";
    }

    Arithmetic            //三個數字的運算和括號
    public void Calculate(String formula) {                //計算
Scanner in = new Scanner(formula);
while (in.hasNextLine()) {
String s = in.nextLine();
try {
    List<Object> list = trans(s);
Stack<Double> result = new Stack<Double>();
double res = f(list, result);
astr=res+"";
System.out.println(astr);
} catch (Exception e) {
System.out.println("非法表達");
    }
    }
}

運行測試函數

討論圖片學習

代碼覆蓋率測試測試

PSP.net

小結感覺:結對編程真的可以帶來1+1>2的效果嗎?經過此次結對編程,請談談你的感覺和體會。
與以前不同的學習方式,在大腿的帶領下收穫了不少,不過仍是遇到了許多問題,但願之後能愈來愈好,學到愈來愈多3d

相關文章
相關標籤/搜索