結對編程:中小學自動試卷生成程序分析

 

相較於我的項目着重培養獨立解決問題的能力而言,結對編程提供了一個共同進步的機會。經過分析對方的代碼,咱們能夠經由對方的優勢而見賢思齊,能夠經由對方的不足而互助共勉。如今,我想談一談我對志豪同窗工程文件優缺點的理解。算法

 

我認爲,實現需求是軟件開發的第一步,在這一點上志豪同窗幾近完美。他不只僅是實現了邏輯層面上的出題功能,也沒有知足於不夠便利的命令行輸入,而是作出了友好度更高、可用性更好的圖形用戶界面。密碼輸入時作暗文處理、切換類型時按鈕「三選一」、一鍵切換帳號、「生成試卷」按鈕提示試卷類型、Console同步輸出、使用相對文件夾輸出txt文件,這些細節無一不體現出他的設計之用心。也正因於此,軟件的使用體驗非常出色。金無足赤,我認爲若是生成試卷以後程序可以彈框提示,那麼會更加完美。txt文件中題目沒有標明題號,也是一個小小的不足。編程

 

 

 

 

 

談完使用體驗,如今回到代碼自己。我認爲代碼所體現的面向對象的編程思想很值得學習。用不一樣的類分別表示登陸窗口、帳號匹配功能、出題功能、出題窗口與類型切換窗口,經過建立對象、事件處理、方法調用等方式實現功能之間的切換,這是很是棒的設計理念。GUI各種組件的合理使用與調用一樣體現了設計者設計之巧妙,程序中的異常處理體現出設計者紮實的Java編程基礎。很慚愧,我沒有設計圖形用戶界面,而是在代碼美化、性能優化上多下了一些功夫,因此我或許更能注意到一些細節並提出一些改進建議。但願共同窗習進步,取長補短,力爭在接下來的結對編程中設計出更加出色的項目。數組

 

對《Java編程思想》的研讀幫助我養成了比較規範命名習慣,習慣上類的首字母大寫,變量與方法的首字母小寫,輔以駝峯式命名法,即用大寫字母標記每個邏輯斷點。儘可能取有意義的名字,比方說實現帳號匹配功能的類我更傾向於取名「AccountsMatch」,實現出題功能的函數我更傾向於命名爲「setQuestion」。此外,我認爲僅處理error而不去重視warning是一個比較很差的編程習慣,考慮到代碼中仍未處理的warning大可能是一些無用的import,我更推薦刪去這些import。同時,我建議在代碼中添加更多註釋以增長可讀性,這樣在結對編程時會更加順利。除此以外即是一些算法與數據結構上的完善,好比,在出題功能的實現過程當中,我更推薦使用數組存儲操做符,出題時取隨機數做爲索引會更加方便。性能優化

 

但願咱們能在結對編程的學習過程當中相互學習、共同進步。志豪同窗編程習慣上的優勢與出色的邏輯思惟能力值得我認真學習,我也會不吝本身所學,提供最用心的建議。加油!數據結構

相關文章
相關標籤/搜索