zoukankan      html  css  js  c++  java
  • 结对作业1

    211606352 陈彬 2116006368林书浩

    一、预估与实际

    PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
    Planning 计划
    • Estimate • 估计这个任务需要多少时间 35 40
    Development 开发
    • Analysis • 需求分析 (包括学习新技术) 35 40
    • Design Spec • 生成设计文档 30 40
    • Design Review • 设计复审 50 45
    • Coding Standard • 代码规范 (为目前的开发制定合适的规范) 30 35
    • Design • 具体设计 40 50
    • Coding • 具体编码 800 900
    • Code Review • 代码复审 100 110
    • Test • 测试(自我测试,修改代码,提交修改) 100 100
    Reporting 报告 20 20
    • Test Repor • 测试报告 10 10
    • Size Measurement • 计算工作量 10 10
    • Postmortem & Process Improvement Plan • 事后总结, 并提出过程改进计划 5 5
    合计 1265

    二、需求分析

    小学要注重题目的简易程度
    相对一二年级 难度应该有所提升
    三四年级的计算还是要在得值要在1000以内并且要有加减乘除
    经过分析,我认为,这个程序应当:
    根据上一次的作业,使程序更加复杂,能运算出更多的内容。

    三、设计

    1. 设计思路

    • 四则运算的生成
    • 输出到out.txt

    2. 实现方案

    • 使用逆波兰函数
    • 正则表达式

    四、编码

    1. 调试日志

    -出现除零异常,发生原因可能是因为没有考虑分母为零的情况
    -输出结果为空值,发生原因可能是因为在用栈的时候没有安排好顺序

    2. 关键代码

    // 比较两个运算符的优先级
    private static int cmpOper(String op1, String op2) {
    if (op1.equals("+") || op1.equals("-")) {
    if (op2.equals("+") || op2.equals("-")) {
    return 0;
    } else {
    // if (op2.equals("") || op2.equals("/")) {}
    return -1;
    }
    }else{
    // if (op1.equals("
    ") || op1.equals("/"))
    if (op2.equals("+") || op2.equals("-")) {
    return 1;
    } else {
    // if (op2.equals("*") || op2.equals("/")) {
    return 0;
    }
    }
    }
    // 判断字符串是否为数字
    private static boolean isNumber(String s) {
    try {
    Integer.parseInt(s);
    } catch (NumberFormatException e) {
    return false;
    }
    return true;
    }

    3. 代码规范

    -变量都需要先赋予初始值
    -代码中的命名严禁使用拼音与英文混合,更不许使用中文命名。
    -不要使用一个常量类维护所有常量,按常量功能进行归类,分开维护。
    -并人工检查代码是否符合规范
    -不允许任何未经预先定义的常量直接出现在代码中

    五、测试

    -gread10 -n 3
    -n 10 -gread 3
    -没有输入前面的-n和-gread
    -只输入一个数据
    -极大的数值
    -负数
    -字母

    六、总结

    -这次作业有很多的困难需要大佬的帮助,相比上一次的作业这次的作业更难,但也有了很多收获,代码中标注注释对以后审查代码更加方面容易.

  • 相关阅读:
    大数据面试题题库
    IDEA下通过Git实现代码管理
    使用QJM实现HDFS的HA配置
    1、HDFS分布式文件系统
    分析system_call中断处理过程
    由一段代码解析系统调用的原理
    从linux内核代码分析操作系统启动过程
    一个简单的时间片轮转多道程序内核
    从一段代码的汇编看计算机的工作原理
    九度OJ1468
  • 原文地址:https://www.cnblogs.com/FOREVER17olds/p/9672237.html
Copyright © 2011-2022 走看看