既然是两两一组天然是找室友搭档是最方便的了。因而在看到结对编程的时候就已经和室友商量好要搭档合做了。(固然也是为了抱住大腿)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