结对编程1

项目成员:

     曾海明 201421122036

     王海峰 201421122054

需求分析:

    1:计时功能,显示用户开始答题所消耗的时间,。

    2:界面支持中文简体、英文两种语言切换,用户可自行选择。

程序设计:

1.计时功能

 

2.语言切换

主要代码展示:

 1.计时器:实时计算时间,根据题目的数量和长度给出建议用时,当用时>建议用时时,弹出“时间已用完,是否提交”窗口

   dieTime=Math.floor(120* calNum *calLong/4)
       $('#dieTime').html(dieTime/60)
    var submit=window.setInterval(function(){      
         giveTime++;             
         calTime(giveTime);
         time.html(hour+":"+minute+":"+second)    
       if(giveTime > dieTime){         
         if(confirm("时间已用完,是否提交")){
          clearInterval(submit);
          $("#sub").click()
         }
       }
    },1000)

2.将计时器转化为时间格式(如:00:01:30 格式)

function calTime(time){
      hour=Math.floor(time/3600);
        minute=Math.floor(time%3600/60);
      second = Math.floor(time%60);
      
        hour=cal(hour);
        minute=cal(minute);
        second=cal(second);            
      function cal(time){
            if(time<10){
              return '0'+time;
            }else{
              return time
            }
      }
    }

3.语言切换,根据用户的语言选择,对语言进行切换,并将结果保存到浏览器缓存localstorage中,后面的页面根据localstorage的值来判断显示的语言。

$(function(){ 
    var language=window.localStorage.getItem("language");
    var flag=language==='En'?true:false;
    judge()
    function judge(){
        if(flag){
            language='En'
            $('#time').html('Timer:<span style="color: red">00:00:00</span>');
            $('#time').next().html('Suggested use time:<span id="dieTime" style="color: red"></span> minutes');
            $('.table tr th').eq(0).html('number');
            $('.table tr th').eq(1).html('subject');
            $('.table tr th').eq(2).html('answer');
            window.localStorage.setItem("language",language);               
            $('#sub').eq(0).val('submit');
            $('#tag').val('1');
        }else{
            language='CH'
            $('#time').html('计时器:<span style="color: red">00:00:00</span>');
            $('#time').next().html('建议用时:<span id="dieTime" style="color: red"></span>分钟');
            $('.table tr th').eq(0).html('编号');
            $('.table tr th').eq(1).html('题目');
            $('.table tr th').eq(2).html('答案');
            window.localStorage.setItem("language",language);               
            $('#sub').eq(0).val('提交');
            $('#tag').val('0');            
        }
    }      
})

4.驼峰式命名方式:自定义的js文件和长变量命名,均采用驼峰式命名,如下:

   

$(function(){
      var time=$('#time span')
   // console.log(time)
       calNum=$('#calNum').val()
       calLong=$('#calLong').val()       
       hour=0
       minute=0
       second=0
       giveTime=0
       dieTime=Math.floor(120* calNum *calLong/4)
       $('#dieTime').html(dieTime/60)
    var submit=window.setInterval(function(){      
         giveTime++;             
         calTime(giveTime);
         time.html(hour+":"+minute+":"+second)    
       if(giveTime > dieTime){         
         if(confirm("时间已用完,是否提交")){
          clearInterval(submit);
          $("#sub").click()
         }
       }
    },1000)

 

程序运行截图:

1.首页(语言切换,题目数量,题目长度,算数最大数的输入)

 

2.用户答题页面(计时器)

 

3.结果展示页面(对错题数)

 

 

小结感受:

       我深刻体会到1+1>2,因为自己的问题自己很难发现,而问题的答案通常在不经意的讨论中找到,有时旁观者更能帮助自己找到问题所在。

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

      优点:对于问题有独特的见解,能对功能的实现提出自己的想法,会认真去思考问题,讲话幽默有趣,合作很愉快。

      缺点:能力水平还有待提高,自己提出的想法难以用代码实现,对自己多一点信心,更全面的看待问题。

      希望他提高的地方:能全面看待问题,多加思考和学习,理性分析问题,细心分析问题。

结对照片:

展示psp:

psp2.1

Personal Software Process Stages

Time Senior Student(min)

Time(min)

Planning

计划

360

300

· Estimate

估计这个任务需要多少时间

600

720

Development

开发

360

480

· Analysis

需求分析 (包括学习新技术)

60

60

· Design Spec

生成设计文档

60

60

· Design Review

设计复审

30

60

· Coding Standard

代码规范

30

40

· Design

具体设计

30

60

· Coding

具体编码

180

120

· Code Review

代码复审

60

50

· Test

测试(自我测试,修改代码,提交修改)

180

150

Reporting

报告

90

100

· 

测试报告

180

120

· 

计算工作量

20

10

· 

并提出过程改进计划

50

40

 

 

codding代码仓库地址 :https://git.coding.net/hmCoding/calculate.git

优酷视频地址:http://www.iqiyi.com/w_19ruygomzt.html

posted @ 2017-10-22 12:41  HM4041812  阅读(324)  评论(4编辑  收藏  举报