结对编程1--模块化

王海峰 201421122054

曾海明 201421122036

需求分析:

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

coding代码地址:https://coding.net/u/hphone/p/calculate/git

爱奇艺视频地址:http://www.iqiyi.com/w_19ruygomzt.html

posted @ 2017-10-22 11:42  名字都被取光了  阅读(169)  评论(2编辑  收藏  举报