结对编程-队友代码欣赏
運行結果:
優點:
1.每一個類前都寫了注釋并且注釋恰當,變量,函數以及類等等的命名都符合命名規范
2.添加了新增用戶的功能,代碼的可擴展性高
1 public static void AddUser(FrmUserType NewUser) { 2 3 users.add(NewUser); 4 5 }
?
3.將不選用初中/高中的操作符視為正常情況而不是特殊情況,使代碼的分支減少,邏輯清晰
1 public String High(int k) { 2 String s = null; 3 4 switch(k) { 5 case 0: 6 s = "sin"; 7 break; 8 case 1: 9 s = "cos"; 10 break; 11 case 2: 12 s = "tan"; 13 break; 14 case 3: 15 s = ""; 16 break; 17 } 18 19 return s; 20 21 }
?
缺點:
1.user.java下的三個類都存儲了用戶名與密碼,而沒有特別的區別與彼此的函數,顯得有點多余,個人認為可以用一個類表示,減少代碼量以及數據的傳遞次數
1 public abstract class User { 2 3 protected String admin; 4 protected String password; 5 //protected String type ; 6 public String getAdmin() { 7 return admin; 8 } 9 public void setAdmin(String admin) { 10 this.admin = admin; 11 } 12 public String getPassword() { 13 return password; 14 } 15 public void setPassword(String password) { 16 this.password = password; 17 } 18 19 } 20 21 /** 22 * 23 * @author 程武正 24 * 25 * 存儲用戶的基本信息類,包含賬號,密碼,用戶類型 26 * 27 */ 28 29 class FrmUserType extends User{ 30 31 protected String type ; 32 public FrmUserType(String ad,String pw,String tp) { 33 34 admin = ad; 35 password = pw; 36 type = tp; 37 } 38 39 public String getType() { 40 return type; 41 } 42 public void setType(String type) { 43 this.type = type; 44 } 45 46 47 } 48 49 /** 50 * 51 * @author 程武正 52 * 53 * 登錄用戶類,用來臨時創建一個對象,方便進行登錄判斷 54 */ 55 class FrmUserLogin extends User{ 56 57 public FrmUserLogin(String ad,String pw) { 58 59 admin = ad; 60 password = pw; 61 62 } 63 64 65 }
?
2.題目之間沒有空行,沒有檢查題目是否重復
3.縮進有點問題,有的縮進4字符,有的縮進8字符,強迫癥表示強烈譴責
1 static { 2 3 4 users.add(userprimary1); 5 6 users.add(userprimary2); 7 users.add(userprimary3); 8 9 users.add(userjunior1); 10 users.add(userjunior2); 11 users.add(userjunior3); 12 13 users.add(userhigh1); 14 users.add(userhigh2); 15 users.add(userhigh3); 16 17 }
4.存儲用戶用了9個變量,顯得有點笨重,感覺用數組來存儲可能會更好點
1 private static FrmUserType userprimary1 = new FrmUserType("張三1", "123","小學"); 2 private static FrmUserType userprimary2 = new FrmUserType("張三2", "123","小學"); 3 private static FrmUserType userprimary3 = new FrmUserType("張三3", "123","小學"); 4 5 private static FrmUserType userjunior1 = new FrmUserType("李四1", "123","初中"); 6 private static FrmUserType userjunior2 = new FrmUserType("李四2", "123","初中"); 7 private static FrmUserType userjunior3 = new FrmUserType("李四3", "123","初中"); 8 9 private static FrmUserType userhigh1 = new FrmUserType("王五1", "123","高中"); 10 private static FrmUserType userhigh2 = new FrmUserType("王五2", "123","高中"); 11 private static FrmUserType userhigh3 = new FrmUserType("王五3", "123","高中");
5.部分代碼不滿足低耦合的要求,代碼過長,認為應該劃分為更多更小的函數,可以讓代碼看著更賞心悅目,條理更清晰
?
總結:
看完了隊友的代碼也對比了一下自己寫的代碼,發現彼此都存在一些問題。我們都曾想過將代碼的耦合度降低,這在代碼的很多地方都有體現,但是,我們在題目生成的那一塊上的代碼與其他地方的代碼長度相比都顯得過長,我們都使用if語句來對不同年級的出題進行了選擇。但是,當看了他的代碼后(優點3),覺得可以找到三種選擇中的共同點來將三種出題方式作為一種,這樣可以減少大量的,重復的代碼段,可見,在這一方面我們彼此都沒有充分的考慮過。
?
轉載于:https://www.cnblogs.com/marinmoring/p/9710751.html
總結
以上是生活随笔為你收集整理的结对编程-队友代码欣赏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AngularJS table 按照表头
- 下一篇: 在公网上的Linux,我的一些配置分享