1. 程式人生 > 其它 >結隊程式設計-個人專案互評

結隊程式設計-個人專案互評

一、 簡介

本篇部落格是對結對程式設計小組同伴翁澤源同學的個人專案程式碼分析並進行總結。專案內容是實現一箇中小學數學試卷自動生成程式,他所用的程式語言是java。

二、專案需求

1. 命令列輸入使用者名稱和密碼,兩者之間用空格隔開(程式預設小學、初中和高中各三個賬號,具體見附表),如果使用者名稱和密碼都正確,將根據賬戶型別顯示“當前選擇為XX出題”,XX為小學、初中和高中三個選項中的一個。否則提示“請輸入正確的使用者名稱、密碼”,重新輸入使用者名稱、密碼;

 2. 登入後,系統提示“準備生成XX數學題目,請輸入生成題目數量(輸入-1將退出當前使用者,重新登入):”,XX為小學、初中和高中三個選項中的一個,使用者輸入所需出的卷子的題目數量,系統預設將根據賬號型別進行出題。每道題目的運算元在1-5個之間,運算元取值範圍為1-100;

 3. 題目數量的有效輸入範圍是“10-30”(含10,30,或-1退出登入),程式根據輸入的題目數量生成符合小學、初中和高中難度的題目的卷子(具體要求見附表)。同一個老師的卷子中的題目不能與以前的已生成的卷子中的題目重複(以指定資料夾下存在的檔案為準,見5);

 4. 在登入狀態下,如果使用者需要切換型別選項,命令列輸入“切換為XX”,XX為小學、初中和高中三個選項中的一個,輸入項不符合要求時,程式控制臺提示“請輸入小學、初中和高中三個選項中的一個”;輸入正確後,顯示“”系統提示“準備生成XX數學題目,請輸入生成題目數量”,使用者輸入所需出的卷子的題目數量,系統新設定的型別進行出題;

 5. 生成的題目將以“年-月-日-時-分-秒.txt”的形式儲存,每個賬號一個資料夾。每道題目有題號,每題之間空一行;

三、 對同伴的程式碼分析

翁澤源同學的程式碼分為兩個類,User類與GeneratePaper類

User類儲存使用者資訊

GeneratePaper類中有多個方法,userInitialize方法初始化使用者資訊,login方法用於登入使用者,getIntput方法用於接收輸入,根據相應的輸入完成登出、更換狀態、生成試卷,getProblem方法用於生成題目

四、 優缺點分析

1、 優點:

(1)程式碼有著較強的可讀性,變數和函式的命名清晰易懂,便於閱讀程式碼的人理解分析。

(2)程式碼的註釋解釋相當清晰,讓別人一看就能讀懂每個函式,每一段程式碼的作用

2、 缺點:

(1)有些程式碼較為重複,可以考慮使用一段程式碼多次複用實現,縮短程式碼長度

(2)登入時學校、賬戶、密碼等賬戶資訊可以單獨放在一個檔案中,通過檔案讀取獲取資訊,而不是將賬戶資訊編寫在程式中,這樣新增、修改賬戶和密碼時更方便。

五、 總結體會

讀完翁澤源同學的程式碼後,受益匪淺,對於自己編碼的思路也清晰了很多,部分之前不太清晰的邏輯也得以梳理,學習到了一些小技巧。翁澤源同學對於使用者體驗方面也下了心思,有著很多小細節。在互相合作的過程中,我覺得自己各方面能力都有著顯著提高,在合作中互相成長互相進步!