中小學數學卷子自動生成程序:隊友代碼分析

本次的我的項目是——中小學數學卷子自動生成程序,同窗的程序基本實現了我的項目的幾點要求,我以爲仍是不錯的:Djava

 

優勢一:代碼編程風格統一,增長開發過程代碼的可讀性和易維護性。編程

優勢二:函數及變量命名規範準確,具備自我描述性,可讓人一眼看出是什麼功能。模塊化

 

優勢三:多個不一樣功能函數分離,雖然沒有分包管理,可是往後要實現的話也便於分離。函數

優勢四:和以前的卷子查重部分寫得挺好,分離了查重所須要的三個步驟,提升代碼的內聚程度,減小耦合程度。3d

 

 

 

 

 

 

問題一:java的思想是面向對象,可是同窗的代碼中體現的思路更偏向面向過程,也沒有任何類方法的運用,違背了java的核心思想。感受能夠從最簡單的拆分用戶類入手,能夠更好的儲存用戶信息,後期也能夠用ArrayList管理。調試

問題二:代碼沒有分包管理,所有寫在一個主類裏面,沒有系統模塊化,不利於後續的調試、維護和迭代開發。個人代碼一開始也是一個函數裏混雜了不少不一樣且可拆分的功能,調試起來很是不便,後來拆分後發現一些函數能夠重複調用減小代碼複雜度。對象

固然這裏還有一個問題:必定要記住本身函數的返回類型啊啊啊啊啊啊!!!個人AddBrackers函數返回類型設置的是String可是一直把它當void用,還想了半天爲啥這函數沒用。。。blog

問題三:代碼段中,缺乏一些檢測,例如一套卷子內題目重複性的檢測(固然機率很小)。出題目的部分缺乏了加括號的步驟,使得問題趨於簡單化,缺乏多樣性。開發

問題四:代碼段中,運用太多全局變量,若是函數中用到的類成員變量或者其餘全局變量能夠用傳入參數的方式代替,則用參數代替,這樣能夠減小該函數和外界的關係,提升內聚。數學

 

總而言之,本次我的項目讓我學到了不少(深入認識到了本身的菜),看同窗的代碼,和同窗交流思路更讓我受益不淺(果真一我的死磕常常會陷入思惟誤區),但願在接下來的項目裏能夠更上一層樓。

相關文章
相關標籤/搜索