zoukankan      html  css  js  c++  java
  • 结对编程1

    本人学号:201421122044  coding地址:https://git.coding.net/gebeelaowang/FourArithmeticOperation.git

    队友学号:201421122040

    一、需求分析:

    1. 把作业1做成GUI
    2. 随机生成题目时不生成重复的题目
    3. 答题对错总数增量统计。
    4. 计时功能,记录答题耗时。
    5. 多语言切换。

    二、程序设计:

      我负责的部分

        1.中英切换

          主要用JavaScript语言完成,在一开始的传参页面InputParameters.jsp中的设置两个按钮来切换中英文,分别绑定切换中文的点击事件 switchChinese( ) 和切换英文的事件switchEnglish( )。

          在点击中将内容分别设置成中英文内容,同时在localStorage里面设置一个键值对来保存语言类型,在跳转到不同页面时根据一开始加载的Js代码来判断页面的内容是中文还是英文,可以做到真正意义上的系统语言切换,一处切换,处处切换。

        2.四则运算

          直接使用上一个实验的算法,但是优化了代码结构,把一些类抽象出来,使其结构更加合理化

        3.对错数量增量统计

          分别把做对的题目的数量和做错的题目数量保存在服务器端的TEXT/correctMount.txt 和 wrongMount.txt文件中

          当再次做题时,只要读入文件里面的数目再在此基础上继续增量即可。

      

      思维导图

        

        

        

    三、代码展示:

      中英切换

      

    <script type="text/javascript">
        function switchChinese(){
            document.getElementById("chineseLanguage").innerHTML="中文";
            document.getElementById("englishLanguage").innerHTML="英文";
            document.getElementById("theMax").innerHTML="最大的上限:";
            document.getElementById("elementsMount").innerHTML="表达式元数:";
            document.getElementById("expressionMount").innerHTML="表达式个数:";
            document.getElementById("theSubmit").value="生成表达式";
            document.getElementById("theReset").value="重置";
            localStorage.setItem("version","Chinese");
        }
        function switchEnglish(){
            document.getElementById("chineseLanguage").innerHTML="Chinese";
            document.getElementById("englishLanguage").innerHTML="English";
            document.getElementById("theMax").innerHTML="OperandRange:";
            document.getElementById("elementsMount").innerHTML="ElementsMount:";
            document.getElementById("expressionMount").innerHTML="ExpressionMount:";
            document.getElementById("theSubmit").value="MakeExpressions";
            document.getElementById("theReset").value="Reset";
            localStorage.setItem("version","English");
        }
    </script>

      增量统计

    String tempCorrectMount = correctMountBr.readLine();
            String tempWrongMount = wrongMountBr.readLine();
            
            int correctMount = 0;
            if(tempCorrectMount != null && !"".equals(tempCorrectMount)){
                correctMount = Integer.parseInt(tempCorrectMount.trim());
            }
            int wrongMount = 0;
            if(tempWrongMount != null && !"".equals(tempWrongMount.trim())){
                wrongMount = Integer.parseInt(tempWrongMount);
            }
    
            correctMountBr.close();
            wrongMountBr.close();
            String tempBr="";
            String tempBr1 = "";
            while((tempBr=correctBr.readLine())!= null && (tempBr1=stuBr.readLine()) != null) {
                if(tempBr.equals(tempBr1)) {
                    correctMount++;
                }else {
                    wrongMount++;
                }
            }
            if(tempBr != null){
                wrongMount++;
            }
            while((tempBr=correctBr.readLine())!= null){
                wrongMount++;
            }
            correctBr.close();
            stuBr.close();
            
            double tempCorrect = (double)correctMount;
            double tempWrong = (double)wrongMount;
            float tempScore = (float)((tempCorrect/(tempWrong+tempCorrect))*100);
            String score = String.format("%.2f", tempScore);
            System.out.println(score);

    四、程序运行:

      

      队友的博文里面展示的是中文版,我展示的是英文版

    五、小结感受:

      加强了团队合作的能力

      实验一算法有些写得不是太好,队友帮我优化了一些,一些工具类中的方法应该使用静态

      有些类和方法应该抽象出来

    六、伙伴评价:

      队友:

        201421122040 陈志建 

      优点:

        逻辑思维较强,代码思路清晰,帮我优化了前一个实验的一些代码

      缺点:

        代码注释偏少

      建议:

        可以适当多加点注释

    七、结对过程:

      统一命名,采用标准的Java命名规范,变量单词的使用尽量准确

      构建大概的程序结构

      分配任务

      各自实现自己的模块,然后用git提交到coding上面的共同项目里

      各自多次提交的codding记录

      

    七、结对照片:

      

    八、PSP:

      

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 30 10
    · Estimate 估计这个任务需要多少时间 24 24
    Development 开发 700 1000
    · Analysis 需求分析 (包括学习新技术) 30 5
    · Design Spec 生成设计文档 NaN 1
    · Design Review 设计复审 NaN 0
    · Coding Standard 代码规范 NaN 5
    · Design 具体设计 NaN 20
    · Coding 具体编码 NaN 20
    · Code Review 代码复审 NaN 10
    · Test 测试(自我测试,修改代码,提交修改) NaN 6
    Reporting 报告 NaN 6
    · 测试报告 NaN 0
    · 计算工作量 NaN 0
    · 并提出过程改进计划 NaN 0
  • 相关阅读:
    linux下编译安装mysql
    Linux系统信息查看命令(转载)
    python使用memcached
    ./configure 命令使用和参数解析
    linux平台下使用 nginx + spawn-cgi 部署webpy程序
    冒泡排序
    在gitub上添加ssh key
    给p标签做单行省略 设置宽度的问题
    移动端的无缝滚动
    canvas-图片翻转
  • 原文地址:https://www.cnblogs.com/zjune/p/7706773.html
Copyright © 2011-2022 走看看