姓名:郭雅芳 學號:201521123013 博客地址
姓名:李香榮 學號:201521123012 博客地址
參考博客2:http://www.cnblogs.com/belong033 源代碼:https://coding.net/u/Belong033/p/java-third/githtml
clone項目,在開發環境中運行該應用程序,修改完畢最後上傳至碼雲,並在博客中給出連接
碼雲地址java
檢查大部分主要類之間的關係,畫出類圖
git
瀏覽全部代碼考慮代碼質量和測試覆蓋率
編程
肯定當前設計的一個弱點,經過重構,確保在這個地方已有測試覆蓋並保證重構沒有改變已有的功能 ◦好的測試是重構的根本。檢查已有代碼的測試,看測試用例是否足夠覆蓋原代碼,若是不足,請添加測試用例
測試用例裏只有整型之間以及分數之間的測試,沒有整型和分數的測試
app
下降代碼重複量,找出代碼邏輯泥球
對分數和整型的四則運算代碼有不少是同樣的
模塊化
修改代碼後,檢查代碼覆蓋,看單元測試是否須要修改?測試用例是否須要增長?
post
增長一個運算符,程序應該有怎樣的改變?不得不扔掉所有重寫麼,仍是能夠只改部分模塊?基於模塊化設計的思想,考慮在現有程序中作什麼樣的修改,才能讓程序更好地實現新的需求單元測試
private static String infixToPostfix(String exp){ //定義優先級規則priority priority.put("*", 2); priority.put("/", 2); priority.put("+", 1); priority.put("-", 1); priority.put("", -1); ... if (isNum(num_op)) { // 是數字則輸出 } else if (")".equals(num_op)) { // 右括號則將左括號以前的內容全彈出 while (!"(".equals(tmp)) { tmp = stack.pop(); } } else if ("(".equals(num_op) || priority.get(num_op) >= priority.get(getTopOperator())) { } else { // 優先級小於棧頂運算符,則彈出 } } // 彈出剩餘運算符 while (stack.size() > 0) { postfix.append(stack.pop()).append(" "); } return suffix.toString(); }
對於此次實驗的感覺,簡直是糟心。沒有體會到1+1>2的感受,兩人編程水平都不高,編程過程當中思路很雜亂,致使浪費太多時間。沒有合理的安排時間,以及分配好每一個人的工做。測試
PSP2.1 | 我的開發流程 | 估計耗時 | 實際耗時 |
---|---|---|---|
Planning | 計劃 | 15 | 20 |
· Estimate | 明確需求和其餘相關因素,估計每一個階段的時間成本 | 5 | 5 |
Development | 開發 | 240 | 320 |
· Analysis | 需求分析 | 25 | 50 |
· Design Spec | 生成設計文檔 | 15 | 13 |
· Design Review | 設計複審 | 20 | 45 |
· Coding Standard | 代碼規範 | 10 | 10 |
· Design | 具體設計 | 50 | 55 |
· Coding | 具體編碼 | 80 | 100 |
· Coding Reivew | 代碼複審 | 20 | 20 |
· Test | 測試(自我測試、修改代碼、提交修改) | 15 | 25 |
Reporting | 報告 | 20 | 20 |
· | 測試報告 | 5 | 4 |
· | 計算工做量 | 5 | 7 |
· | 並提出過程改進計劃 | 8 | 10 |