结对编程1-模块化

一、结对成员介绍及coding.net 地址:

(本人)魏修祺 201421122008 coding.net地址:[https://coding.net/u/weixuiqi/p/Pair-programing-one/git];

(成员)吴吉键 201421122007 博客地址:[http://www.cnblogs.com/blogWU/].

演示视频(优酷网):[http://v.youku.com/v_show/id_XMzEwMDU5NDM0MA==.html?spm=a2h3j.8428770.3416059.1].

二、题目描述:

在个人作业1中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI,成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:

  • 记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。

  • 有计时功能,能显示用户开始答题后的消耗时间。

  • 界面支持中文简体/中文繁体/英语,用户可以选择一种;

三、项目实现:

1、需求分析

结对项目,需求为我完成的功能。

  • 计时功能,实时显示用户答题时间

  • 记录用户的对错总数

2、程序设计

说明:四则远算主要功能分为,计算、语言选择、计时、记录。其中计算是最核心最重要的部分,但在个人作业1中已经有过详细说明,这里不再细说。语言选择提高三种语言选择,初始默认为简体中文。计时功能,记录用户在开始答题直到答题结束消耗时间。记录主要是对答题结束之后,将对错总数和错题写到文件里。

3、代码展示

//计时功能
    public void run() {
		while (s) {
			try {
				this.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
			//获取当前显示的时间并加1在输出
			int n = Integer.parseInt(t.getText());
			System.out.println(n++);
			t.setText(String.valueOf(n));
		}
	}
        //记录用户的对错总数
        String filepath = "history.txt";
    	File history = new File(filepath);
		BufferedWriter out = null;
		if (history.exists()) {
			try {
				@SuppressWarnings("resource")
				BufferedReader br = new BufferedReader(new FileReader(history));
				String h_right = br.readLine();
				String h_err = br.readLine();
				int t_right = Integer.parseInt(h_right) + right;
				int t_err = Integer.parseInt(h_err) + err;
				out = new BufferedWriter(new OutputStreamWriter(
						new FileOutputStream(history, false)));
				out.write(String.valueOf(t_right));
				out.newLine();
				out.write(String.valueOf(t_err));
				out.newLine();
			} catch (IOException e) {
				e.printStackTrace();
			} finally {
				try {
					out.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}

4、程序运行

运行截图在另一篇博客里结对编程1-模块化

5、小结感受

  • 结对编程过程中的分工很明确,在功能分配上没有什么争议,总体过程中是很顺利的。

  • 在代码规范方面由于使用的是标准的java代码规范,在整合方面没有什么很大的问题,主要是相互理解对方的代码。

四、运用“汉堡包”的方式,评价结对伙伴:

优点:对开发过程中需要用到的新知识接受能力强

缺点:函数与方法的封装还不是很好,部分class内代码很长

希望他提高的地方:熟悉并很好的封装不同的代码,降低代码的篇幅。

PSP与结对过程

相同部分参考结对编程1-模块化

posted @ 2017-10-22 14:59  孤舟一游客  阅读(186)  评论(1编辑  收藏  举报