结对编程1—模块化

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

   张慧敏(201421122032)  coding.net地址:https://coding.net/u/Missyby/p/program1/git/tree/master/

   苏晓薇(201421031033)  coding.net地址:https://git.coding.net/Recos/myprogram.git

   视频演示:http://v.youku.com/v_show/id_XMzEwMjkwMDA0NA==.html?spm=a2h3j.8428770.3416059.1

二、项目开发

1、需求分析

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

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

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

2、程序设计

   

 

3、代码展示:展示每个功能的核心代码。

    我主要实现图形界面,增加计时功能,实现界面支持中文简体/中文繁体/英语,

    图形界面的设计主要用到jlabel,jpanel,jbutton等控件完成,为方便设置位置,我设置为absolute layout。

    计时器的实现,是先预定义Hours,Minutes,Seconds=0,每隔一秒加1,并setText,最后提交的时候,记录当前时间,用时可用时间差获得。

    界面的语言切换,是根据用户对radio的isselect保存choose值,从而修改控件的内容

1.语言选择

button.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if(chinese1.isSelected()){
                    new showview(1).show();
                }else if(english.isSelected()){
                    new showview(2).show();
                }else if(chinese2.isSelected()){
                    new showview(3).show();
                }else
                    JOptionPane.showMessageDialog(null, "请选择一种语言");
                
                //中文英文监听        
                dispose();
            }
        });
if(choose==1){
            setTitle("四则运算生成器");
            lblNewLabel.setText("开始答题");
            label.setText("计时开始:");
            commitBtn.setText("提交");
        }else if(choose==2){
            setTitle("Arithmetic generator");
            lblNewLabel.setText("Arithmetic generator");
            label.setText("time starts:");
            commitBtn.setText("commit");
        }else if(choose==3){
            setTitle("四則運算生成器");
            lblNewLabel.setText("開始答題");
            label.setText("計時開始:");
            commitBtn.setText("提交");
        }else{
            JOptionPane.showMessageDialog(null, "error");
        }

2.计时器

contentPane.add(timeText);
        now.setHours(0);
        now.setMinutes(0);
        now.setSeconds(0);
        final Timer timer = new Timer(1000, new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                Date now2 = new Date(now.getTime() + 1000);
                now = now2;
                SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
                timeText.setText(formatter.format(now));
            }
        });
        timer.start();
        timeText.setText(timeText.getText());

 

 

4、程序运行:程序运行及每个功能的使用截图。

1.选择语言,如果不选择,将会弹出提示框。

            

2.输入题数,如果出错弹出提示框

 

 3.开始button添加计时监听

4.答题结束,返回结果

5.查看记录

 6、文件的存放

 

 

三、总结

1、小结感受:结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会

     这次的结对编程作业是在个人作业1 的基础上增量开发,增加3个功能,我主要实现图形界面,增加计时功能,实现界面支持中文简体/中文繁体/英语,过程也学习到了很多,比如我在GUI图形界面编程过程中添加对用户动作的监听上有比较深刻的学习,队友负责记录用户对错,实现对文件的操作,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。

     在配合默契的情况下,结对编程是可以带来1+1>2的效果的,不同功能实现和分工合作下可以更快学习新的技巧,增加编程的经验。

     通过这次结对编程,认识到合作开发的好处,不仅加快任务的实现,还可以促进良好的编程习惯的养成。

 

2、运用“汉堡包”的方式,评价你的合作伙伴,指出优点、缺点,希望ta提高的地方

      优点:能够在模块化设计下独立完成并实现功能模块,遇到问题能认真钻研并解决。

      缺点:由于两人的编程习惯不一致,常常在阅读对方的代码时花费较多的时间。

      希望ta提高的地方:希望能不断积累更多的项目开发经验,同时也要养成良好的编程习惯,这样可以加快项目的整合。

 

3、此次结对作业的PSP,PSP 表格中请填写花费的时间 (单位: 分钟)

PSP2.1Personal Software Process StagesTime Senior StudentTime
Planning计划3020
· Estimate估计这个任务需要多少时间2030
Development开发500700
· Analysis需求分析 (包括学习新技术)3020
· Design Spec生成设计文档3020
· Design Review设计复审2020
· Coding Standard代码规范2020
· Design具体设计5070
· Coding具体编码100150
· Code Review代码复审3020
· Test测试(自我测试,修改代码,提交修改)3020
Reporting报告3040
·测试报告2020
·计算工作量1020
·并提出过程改进计划1010

 

 

转载于:https://www.cnblogs.com/bymissy/p/7711013.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ChatGPT结对编程是一种将两个程序员合作编写代码的技术。这种技术可以提高编写代码的效率和质量,同时也可以提高两位程序员的技能水平。以下是ChatGPT结对编程的步骤: 1. 首先,找到一个合适的编程伙伴。最好是一个有一定编程经验的人,但如果你是新手,也可以与另一个新手合作。 2. 确定你们编写的代码项目。你们可以选择一个共同感兴趣的项目或者一个有挑战性的项目。确保你们都对项目有一定的理解。 3. 确定你们的角色。一个人可以担任主要代码编写者,另一个人可以担任代码审核者。这样可以确保代码的质量。 4. 确定编程环境。你们可以使用一个共同的编程环境,如Visual Studio Code或者Atom。也可以使用在线编程环境,如CodePen或JSFiddle。 5. 开始编写代码。一个人负责编写代码,另一个人负责审核代码。在编写代码的过程中,你们可以随时通过聊天工具进行交流和讨论。 6. 定期进行代码审核。定期进行代码审核可以确保代码的质量。你们可以定期的分享代码,并相互审核对方的代码。 7. 完成项目并进行总结。完成项目后,你们可以总结你们的经验和教训,并提出改进建议。这将有助于你们以后更好的编写代码。 总之,ChatGPT结对编程是一种非常有用的技术,可以提高编写代码的效率和质量。通过合作编写代码,你们可以相互学习,相互支持,以及增强你们的编程技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值