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
  • 相关阅读:
    poj 2488 DFS
    畅通工程 并查集模版
    KMP 模板
    poj 1426 DFS
    poj 2528 线段数
    poj 3468 线段数 修改区间(点)
    CVPR2012文章阅读(2)A Unified Approach to Salient Object Detection via Low Rank Matrix Recovery
    如何制定目标
    Saliency Map 最新综述
    计算机视觉模式识别重要会议杂志
  • 原文地址:https://www.cnblogs.com/zjune/p/7706773.html
Copyright © 2011-2022 走看看