結對程式設計——對隊友王斌的程式碼分析
程式碼概述
整個專案程式碼由三個頂層類檔案分為三個部分:
-
MainPart.java(互動介面,主函式)
-
users:賬戶類例項化
-
initList()
初始化賬戶資訊
-
createProblems()
出題介面
-
adminSystem()
管理員介面
-
initSystem()
登入介面
-
-
User.java(賬戶類)
-
grade:型別
-
id:名字
-
password:密碼
-
User()
構造方法
-
getGrade()
獲得型別
-
getId()
獲得名字
-
getPassword()
獲得密碼
-
setPassword()
設定密碼
-
-
Creation.java(生成題目)
-
id:名字
-
grade:型別
-
num:生成題目數
-
Creation()
構造方法,根據型別生成不同難度題目
-
createBasic()
新增一個運算元和運算子
-
createTwo()
生成兩運算元數學題
-
createThree()
生成三運算元數學題
-
createFour()
生成四運算元數學題
-
createFive()
生成五運算元數學題
-
saveFile()
儲存題目到txt檔案
-
creating()
隨機生成不同運算元的題目並判斷是否重複
-
程式碼優點
-
運用面對物件的思想將專案分為三個相對獨立的部分:賬戶類、互動介面類和生成題目類。
-
賬戶類:儲存賬戶資訊,由其他兩部分呼叫。
-
互動介面類:接收使用者的輸入指令,呼叫其他兩部分的方法登入、生成題目或修改賬戶資訊。
-
生成題目類:接受互動介面類的呼叫生成題目,儲存在生成的txt檔案中。
便於程式碼複用及維護。
-
-
程式碼格式規範。
-
檔名、類名、變數名取名都使用駝峰法,簡潔明瞭,可讀性強。
-
縮排、空格、自動換行都採用統一標準,大氣美觀。
-
每個類或方法都有註釋解釋說明了大致功能與引數、返回值。
-
-
各功能分類明確,準確無誤地滿足了專案需求,測試無bug存在。
-
生成題目的演算法採用了分解組合的方法,多運算元題目由少運算元題目組合而成,如五運算元題目由四運算元題目加一運算元而成,以此類推。該演算法考慮到了各種題目情況,比較全面。
-
添加了專案需求中未要求的管理員賬戶,實現了對已有賬戶的修改和增添、刪除賬戶的功能。
-
在使用者介面一些輸入要求沒有提示,有些輸入錯誤後跳轉介面不友好,成功生成檔案後沒有提示。
-
一些難懂的程式碼旁沒有註釋使得理解有些困難。
-
生成題目的方法createFive()、createFour()、createThree()、createTwo()、createBasic()中程式碼的重複率過高,比較龐雜。
-
管理員賬戶對賬戶的修改無法儲存到下一次執行。
-