天天看點

結對程式設計--個人項目代碼分析

1. 簡介

本部落格用于結對程式設計項目中對"誇誇公子"的個人項目代碼分析。

2. 程式功能分析

  1. 指令行輸入使用者和密碼,實作登入功能
  2. 輸入題目數量,根據年級生成題目,實作了生成試卷的功能
  3. 出題後自動生成以時間YY-MM-DD-HH-MM-SS命名的txt檔案,試卷資訊儲存在這裡,實作了存儲試卷的功能
  4. 能夠在指令行輸入切換資訊進行相應出題年級切換,實作了更改出題難度的功能。

功能展示:

登入、出題:

結對程式設計--個人項目代碼分析

儲存試卷:

結對程式設計--個人項目代碼分析

切換年級:

結對程式設計--個人項目代碼分析

登入安全機制:

結對程式設計--個人項目代碼分析

亮點:良好的使用者互動體驗,加入了多次密碼錯誤系統關閉的安全機制。

缺點:沒有考慮使用者曆史題目重複的情況,雖然在該項目中這種機率幾乎不可能,但是要滿足需求。

3. 代碼邏輯分析

整個項目一共擁有三個類:

1、handle類:用于處理操作,類方法用來實作主要功能如使用者登入、生成題目、儲存試卷等。

結對程式設計--個人項目代碼分析

2、login類:類中包含使用者登入輸入和使用者登入查詢兩個方法來實作使用者登入系統的功能,并實作了多次登陸失敗系統關閉的功能,類成員為登陸失敗的次數。

結對程式設計--個人項目代碼分析

使用者登入輸入方法:

結對程式設計--個人項目代碼分析

使用者登入查詢方法:

結對程式設計--個人項目代碼分析

3、main類:項目程式入口,包含主方法。

結對程式設計--個人項目代碼分析

亮點:主類main中隻有一個主方法,且隻有一行代碼,簡潔。登入和功能處理函數放在不同類中,便于管理檢視。

缺點:該項目隊友采用的是面向過程的設計方法,在做後期項目開發的時候拓展性低、函數容易混亂,不利于項目的開發。

為了實作生成不同年級的題目,handle類中包含了一個ProducePaper(String text,String password,String type,int nums)函數和三個不同年級的題目操作數的生成方法PrimaryPaperNumber()、MiddlePaperNumber()、HignPaperNumber()。

相比我自己設計了三個代碼重複率較高的函數來實作三個題目的生成,隊友這個設計比較巧妙。但是在後期試卷系統項目開發中,将不同類型題目生成用不同函數來實作是必須的。

4. 代碼規範分析

根據Google java 代碼規範參考,隊友的代碼采用小駝峰法命名,縮進等符合規範。

代碼不規範的地方:

1、 類命名不規範,首字母應大寫

結對程式設計--個人項目代碼分析

2、 程式包含多個空的main方法,應該删去

結對程式設計--個人項目代碼分析

5. 總結##

繼續閱讀