既然是兩兩一組天然是找室友搭檔是最方便的了。因而在看到結對編程的時候就已經和室友商量好要搭檔合做了。(固然也是爲了抱住大腿)java
在語言方面,搭檔用的是Java語言,而我用的是C++,兩我的所用語言不一樣,可是在結對編程的要求中要求作頁面,一對比就很明確知道仍是要靠搭檔了。因此也主要分析一下搭檔的代碼方便後期結對編程在她的代碼基礎上進行更改提升。編程
首先是一個自我反思的過程,經過對她的代碼的解讀發現不少需求是我覺得我完成了實際上我並無成功達成需求。並且不少狀況的產生不夠隨機,仍是有些尷尬的。代碼表面上顯示的彷彿是都作到了,也隨機出題隨機產生了,可是相比較腦內活動,仍是有不少狀況不在考慮範圍內的。而她的實現就比較徹底了,在分析她的代碼的時候仍是比較有感覺的。函數
那麼,接下來就是主要針對她的代碼的解析了。佈局
首先,在閱讀搭檔的代碼時有幾點建議,感受這個是她作的不是很完善的地方(固然,我也在這幾點中有作的不完善的狀況)。學習
1 public class AutoQuizSystem { 2 3 /** 4 * 當前用戶的存儲路徑 path 5 */ 6 // 需根據實際狀況修改路徑 7 static String path = "D:\\hi girl\\湖大\\做業\\大三上\\軟件工程導論\\1班-李暢\\1班-李暢\\Quiz\\"; 8 9 public static void main(String[] args) { 10 // TODO Auto-generated method stub 11 /** 12 * 運行程序,用戶登陸。 13 */ 14 new Login(); 15 } 16 17 }
可是,她這裏包含建立文件操做。咱們能夠在後期對代碼進行修改時經過查閱資料等方式,將文件夾也由代碼建立出來。ui
1 String fileName = now.get(Calendar.YEAR) + "-" + (now.get(Calendar.MONTH) + 1) + "-" 2 + now.get(Calendar.DAY_OF_MONTH) + "-" + now.get(Calendar.HOUR_OF_DAY) + "-" + now.get(Calendar.MINUTE) 3 + "-" + now.get(Calendar.SECOND) + ".txt"; 4 5 /** 6 * 建立新文件,用於存儲題目 7 */ 8 File file = new File(AutoQuizSystem.path + Login.name[Login.i], fileName); 9 if (!file.exists()) { 10 try { 11 file.createNewFile(); 12 } catch (IOException e) { 13 e.printStackTrace(); 14 } 15 }
1 if (psw.equals("123")) { //type表示當前用戶的等級,name中存儲9個教師狀況 2 for (i = 0; i < 9; i++) { 3 if (usr.equals(name[i])) { 4 if (i < 3) 5 type = "小學"; 6 else if (i < 6) 7 type = "初中"; 8 else 9 type = "高中";
一律而論的話,搭檔的代碼大致狀況很好,可是在部分方面可擴展性不夠強。後期若是增添更多需求或者別的方案的話代碼的修改幅度較大。spa
固然,瑕不掩瑜。在學習搭檔代碼的過程當中仍是學到了不少也瞭解了不少的。設計
1 /** 2 * 構造函數 3 * 4 * 功能實現:生成登陸窗口(用戶名輸入、密碼輸入、登陸鍵)。 5 */ 6 public Login() { 7 setTitle("自動出題系統"); 8 setLayout(null); 9 Container c = getContentPane(); 10 JLabel username = new JLabel("用戶名:"); 11 final JTextField un = new JTextField(); 12 JLabel password = new JLabel("密碼:"); 13 final JPasswordField pw = new JPasswordField(); 14 pw.setEchoChar('*'); 15 JButton login = new JButton("登陸");
最後,在小小的分析以後固然是要總結一下這個結對編程中代碼複審過程的意義所在啦~code