1. 程式人生 > 其它 >結對程式設計——對隊友王斌的程式碼分析

結對程式設計——對隊友王斌的程式碼分析

結對程式設計程式碼分析

程式碼概述

整個專案程式碼由三個頂層類檔案分為三個部分:

  • 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()

      隨機生成不同運算元的題目並判斷是否重複

程式碼優點

  1. 運用面對物件的思想將專案分為三個相對獨立的部分:賬戶類、互動介面類和生成題目類。

    • 賬戶類:儲存賬戶資訊,由其他兩部分呼叫。

    • 互動介面類:接收使用者的輸入指令,呼叫其他兩部分的方法登入、生成題目或修改賬戶資訊。

    • 生成題目類:接受互動介面類的呼叫生成題目,儲存在生成的txt檔案中。

    便於程式碼複用及維護。

  2. 程式碼格式規範。

    • 檔名、類名、變數名取名都使用駝峰法,簡潔明瞭,可讀性強。

    • 縮排、空格、自動換行都採用統一標準,大氣美觀。

    • 每個類或方法都有註釋解釋說明了大致功能與引數、返回值。

  3. 各功能分類明確,準確無誤地滿足了專案需求,測試無bug存在。

  4. 生成題目的演算法採用了分解組合的方法,多運算元題目由少運算元題目組合而成,如五運算元題目由四運算元題目加一運算元而成,以此類推。該演算法考慮到了各種題目情況,比較全面。

  5. 添加了專案需求中未要求的管理員賬戶,實現了對已有賬戶的修改和增添、刪除賬戶的功能。

程式碼缺點

  1. 在使用者介面一些輸入要求沒有提示,有些輸入錯誤後跳轉介面不友好,成功生成檔案後沒有提示。

  2. 一些難懂的程式碼旁沒有註釋使得理解有些困難。

  3. 生成題目的方法createFive()、createFour()、createThree()、createTwo()、createBasic()中程式碼的重複率過高,比較龐雜。

  4. 管理員賬戶對賬戶的修改無法儲存到下一次執行。

  5. 直譯器中的警告很多(強迫症患者表示很難受)。