1. 程式人生 > >第二次代碼作業

第二次代碼作業

分享圖片 sta 進行 imp mage 完成 方法 技術 alt

211606390 張晉誌 211606329 王浩

一、預估與實際

PSP2.1 Personal Software Process Stages 預估耗時(分鐘) 實際耗時(分鐘)
Planning 計劃 60 65
? Estimate ? 估計這個任務需要多少時間 60 65
Development 開發 590 1195
? Analysis ? 需求分析 (包括學習新技術) 90 120
? Design Spec ? 生成設計文檔 30 60
? Design Review ? 設計復審 20 60
? Coding Standard ? 代碼規範 (為目前的開發制定合適的規範) 30 15
? Design ? 具體設計 60 90
? Coding ? 具體編碼 240 500
? Code Review ? 代碼復審 60 200
? Test ? 測試(自我測試,修改代碼,提交修改) 60 150
Reporting 報告 65 80
? Test Repor ? 測試報告 30 30
? Size Measurement ? 計算工作量 20 20
? Postmortem & Process Improvement Plan ? 事後總結, 並提出過程改進計劃 15 30
合計 1340

二、需求分析

我通過查詢小學三年級的教案的方式了解到,小學三年級數學有如下的幾個特點:

  • 沒有進行負數的運算
  • 除法運算除數不能為0,不能產生余數,被除數可以為0,一位數和兩位數的除法。
  • 乘法運算一個乘數為一位數,另一個乘數一般不超過三位數或者一個乘數為二位數,另一個乘數一般不超過三位數
  • 是復合四則運算

經過分析,我認為,這個程序應當:

  • 每道題目占一行
  • 參與運算的數值和產生的答案都不能出現負數
  • 運算結果一般不超過四位數
  • 題目是起碼有兩個不同符號的復合運算

三、設計

1. 設計思路

說明你如何設計這個程序

比如:

  • 這個程序有5個類
  • 關鍵函數的流程圖

技術分享圖片

  • 算法的關鍵是通過逆波蘭實現題目的運算

2. 實現方案

  • 準備工作:先在Github上創建倉庫,克隆到本地,通過git命令進行操作
  • 技術關鍵點:逆波蘭的實現,題目的生成

四、編碼

1. 調試日誌

代碼沒有調試完成,三年級無法正常運行

2. 關鍵代碼

if(flag[i]==0) 
            {
                flag[i]=random.nextInt(4)+1;
                fg++;
                L.append(fg+1,")");
            }
            if(flag[i]==1) 
            {
                 L.append("+");
                 fg++;
            }
            else if(flag[i]==2) 
            {
                L.append("-");
                fg++;
            }
            else if(flag[i]==3)
            {
                L.append("*");
                fg++;
            }
            else if(flag[i]==4)
            {
                L.append("÷");
                fg++;
            }

通過產生隨機數生成不同的運算符號。技術分享圖片

3. 代碼規範

請給出本次實驗使用的代碼規範:

  • 第一條:方法簡短抓住重點
  • 第二條:同一個變量不在不同目的中使用
  • 第三條:變量和方法的名稱能體現實現功能
  • 第四條:合理分配運用空間

五、測試

代碼三年級不能正常運行

六、總結

這次作業寫了整整5天,可是最後代碼還是無法運營,無法再規定的時間內找到BUG。這次寫代碼

反映出我的基本功還是不行,而且沒有一個好的編程思維,感覺在寫代碼的時候腦子是亂的。還要加
油呀!難受呀!

第二次代碼作業