結對編程項目-四則運算(第二周總結)


結對編程項目-四則運算(第二周總結)

結對對象

  • 學號:20162318
  • 姓名:張泰毓
  • 擔當角色:駕駛員之一,客戶端的編寫,支持多語言功能的實現。

需求分析

題目生成

  • 整數和分數混合運算
  • 多運算符(可設計層級)
  • 包含括號(可單獨使用)
  • 無重復題目(可單獨使用)
  • 生成有意義的題目(例如:5x(5x5)等等)

設計思路

計算部分

  • 中綴表達式轉成后綴表達式
  • 后綴表達式計算

題目部分

  • 使用for循環生成題目
  • 去重(將題目從中綴轉成后綴,將其排序,判斷是否有重復)(存在bug)
  • 括號的生成(使用兩個隨機數代表括號的位置)(存在bug)
  • 有意義的題目(使用list類中的subList)

實現過程中的關鍵代碼解釋


我們想實現支持雙語的程序,開始的時候想用if語句,但是想到if語句它的實用性不夠廣泛,這次使用以后,沒法為以后的代碼使用,於是我查閱了大量資料以后找到了一個方法java.lang.Locale通過這個類,我們可以達到實現國際化的目的。

其中我們還用到了一個在線的轉換器。

測試方法

運行過程截圖

代碼托管地址

遇到的困難及解決方法

  • 當我們生成混合運算的時候,如何讓隨機生成括號的問題困擾了我們很久,就是考慮到如果生成了左括號如何讓它一定生成右括號,不使代碼算式出錯的問題。
  • 構思很久以后我們只想到了如何沒有錯誤的生成一組括號。
  • 但是怎樣實現多組,如果用循環一個一個比較的話,在題的數目多的時候會出現代碼運行速度較慢的缺點。
  • 這次我們遇到的主要問題就是國際化這方面,雖然到最后我們也只實現了英語和漢語,但是找到了這種方法,只要我們建立了足夠大的屬性文件庫,就可以隨時調用了,也可以使用現成的。

結對伙伴評價

泰毓同學的學習積極性很高,自主學習能力也比較強,和他一起編程讓我成長了不少,即便有的時候因為懶惰不想學習,但是因為不想坑泰毓同學,還是會堅持學下去,希望我們可以共同成長。

PSP

PSP2.1 Personal Software Process Stages 預估耗時(小時) 實際耗時(小時)
Planning 計划 0.5 0.5
· Estimate · 估計這個任務需要多少時間 0.5 0.5
Development 開發 14.5 21
· Analysis · 需求分析 (包括學習新技術) 2 3
· Design Spec · 生成設計文檔 0.5 0.5
· Design Review · 設計復審 (和同事審核設計文檔) 0.5 1
· Coding Standard · 代碼規范 (為目前的開發制定合適的規范) 0.5 0.5
· Design · 具體設計 2 3
· Coding · 具體編碼 2 4
· Code Review · 代碼復審 2 2
· Test · 測試(自我測試,修改代碼,提交修改) 5 8
Reporting 報告 2.5 2.5
· Test Report · 測試報告 2 1
· Size Measurement · 計算工作量 0.5 0.5
· Postmortem & Process Improvement Plan · 事后總結, 並提出過程改進計划 1 1
總計 18.5 24


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM