zoukankan      html  css  js  c++  java
  • 结对编程作业1(009 + 010)

    009 010 结对

    附上我们复审后的代码地址:https://git.coding.net/sy0717/software.git

    一、 作业描述

          在个人作业1中我们完成了关于此次作业基本代码的编写,此次作业新添要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。

    二、 需求分析

           经过讨论后我们选择了10号的第一次作业代码为此次代码的基础代码,实现以下两个功能

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

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

    三、程序设计(思维导图)

                                      

    五、程序展示

          1.关于计时器的:

    js:

    复制代码
     1 var time,hour=0,min=0,sec=0,ss=1;  
     2 function second(){  
     3 if((ss%100)==0){sec+=1;ss=1;}  
     4 if(sec>0 && (sec%60)==0){min+=1;sec=0;}  
     5 if(min>0 && (min%60)==0){hour+=1;min=0;}  
     6 t=hour+":"+min+":"+sec;  //时分秒运算
     7 document.getElementById("showtime").value=t;   //这有一个给id为showtime的input赋值的语句,可以实现动态计时。
     8 //其实所谓的动态计时,就是在很短的时间里不停给显示时间的地方更新数值,由于速度很快,这样计时器看起来时刻都在变化。但其实不是的,它从本质上还是静态的,这跟js的伪多线程原理是一样的。
     9 ss+=1;  
    10 }  
    11 function startclock(){se=setInterval("second()",1);}  //这个函数是要放到按钮的click事件上的
    12 function pauseclock(){clearInterval(time);}    //这个函数是要放到按钮的click事件上的
    13 function stopclock(){clearInterval(time);ss=1;hour=min=sec=0;}    
    复制代码

      jsp:

    复制代码
    1 <input name="s" type="button" value="开始计时" onClick="startclock()">
    2 <input name="s" type="button" value="暂停计时" onClick="pauseclock()">  
    3 <input name="s" type="button" value="停止计时" onClick="stopclock()">  
    4  
    5 <input name="showtime" style="color:#ff0000;200px;" id="showtime" type="text" value="0时0分0秒">  
    复制代码

       2.关于切换语言的:

       先导入两个js文件,jquery.js和jquery.i18n.properties-1.0.9.js

    1 <script src="js/jquery.js"></script>  
    2 <script src="js/jquery.i18n.properties-1.0.9.js"></script> 

        

    复制代码
     1 var language_pack = {  
     2     now_lang : 0, // 0:ch,1:en,2:tw  
     3     loadProperties : function(new_lang){  
     4         var self = this;  
     5         var tmp_lang = '';  
     6         if(new_lang == 0){  
     7             tmp_lang = 'zh';  
     8             $('body').removeClass('en').addClass('zh');  
     9         }else if(new_lang == 1){  
    10             tmp_lang = 'en';  
    11             $('body').removeClass('tw').addClass('en');  
    12         }else {  
    13             tmp_lang = 'tw';  
    14             $('body').removeClass('zh').addClass('tw');  
    15         }  
    16         jQuery.i18n.properties({//加载资浏览器语言对应的资源文件  
    17             name: 'strings', //资源文件名称  
    18             path:'language/', //资源文件路径  
    19             language: tmp_lang,  
    20             cache: false,  
    21             mode:'map', //用Map的方式使用资源文件中的值  
    22             callback: function() {//加载成功后设置显示内容  
    23                 for(var i in $.i18n.map){  
    24                     $('[data-lang="'+i+'"]').text($.i18n.map[i]);  
    25                 }  
    26                 document.title = $.i18n.map['string_title'];  
    27             }  
    28         });  
    29         self.now_lang = new_lang;  
    30     }  
    31 }  
    32 $(document).ready(function(){  
    33     language_pack.loadProperties(0);  
    34       
    35     $('#J_lang_switch').click(function(){  
    36         var new_lang;  
    37         if(language_pack.now_lang == 0){  
    38             new_lang = 1;  
    39         }else if(language_pack.now_lang == 1){  
    40             new_lang = 2;  
    41         }else{
    42             new_lang = 0; 
    43         }
    44         language_pack.loadProperties(new_lang);  
    45     });  
    46 }); 
    复制代码

     3.程序运行展示

    六、psp表格     

    PSP2.1 Personal Software Process Stages Estimated time(h) actual time(h)
    Planning 计划 1 1.5
    · Estimate 估计这个任务需要多少时间 30 45
    Development 开发 24 40
    · Analysis 需求分析 (包括学习新技术) 1 1.2
    · Design Spec 生成设计文档 7 10
    · Design Review 设计复审 0.5 0.5
    · Coding Standard 代码规范 0.5 0.8
    · Design 具体设计 1.5 1.5
    · Coding 具体编码 20 40
    · Code Review 代码复审 10 15
    · Test 测试(自我测试,修改代码,提交修改) 1 3
    Reporting 报告 20 25
    · 测试报告 1 1.5
    · 计算工作量 0.5 1
    · 并提出过程改进计划 2 4

    七、小结

    特附上我和队友的蠢照     

                                                             

          队友评价:队友一直是对待学习特别认真的人,在这次合作中,她依然保持一贯的认真态度,对每一个错误都保持严谨的态度,并且一直鼓励我。期待跟队友的下一次合作~

          本次结对作业,我认为产生了1+1>2的效果。因为在编程过程中,始终有一个小伙伴一直在你身边,能及时发现对方的错误,尽快改正。并且当编程途中遇到问题时,能给出相应的意见和建议,尽快解决问题,提高了编程效率。但是也会因为一些问题的讨论产生分歧,都想用自己的观点说服对方,这是一个很有趣的磨合过程。

          不得不说本次作业难度太大,花费了几乎所有的课余时间,如果没有队友的鼓励,肯定坚持不下来。再次感谢我可爱的队友,并且希望老师考虑作业期限能否给长一些,毕竟还有其他方向的考试需要准备。

          还有就是感觉代码规范性还是很重要,特别是在合作中,因为代码不仅要给自己看,还要给队友看,如果因为代码规范处理不好,还是会浪费很多时间。

         

  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/xucan0110/p/6547457.html
Copyright © 2011-2022 走看看