• 结对编程项目-四则运算(第二周总结)


    结对编程项目-四则运算(第二周总结)

    结对对象

    • 学号:20162318
    • 姓名:张泰毓
    • 担当角色:驾驶员之一,客户端的编写,支持多语言功能的实现。

    需求分析

    题目生成

    • 整数和分数混合运算
    • 多运算符(可设计层级)
    • 包含括号(可单独使用)
    • 无重复题目(可单独使用)
    • 生成有意义的题目(例如:5x(5x5)等等)

    设计思路

    计算部分

    • 中缀表达式转成后缀表达式
    • 后缀表达式计算

    题目部分

    • 使用for循环生成题目
    • 去重(将题目从中缀转成后缀,将其排序,判断是否有重复)(存在bug)
    • 括号的生成(使用两个随机数代表括号的位置)(存在bug)
    • 有意义的题目(使用list类中的subList)

    实现过程中的关键代码解释


    我们想实现支持双语的程序,开始的时候想用if语句,但是想到if语句它的实用性不够广泛,这次使用以后,没法为以后的代码使用,于是我查阅了大量资料以后找到了一个方法java.lang.Locale通过这个类,我们可以达到实现国际化的目的。

    其中我们还用到了一个在线的转换器。

    测试方法

    运行过程截图

    代码托管地址

    遇到的困难及解决方法

    • 当我们生成混合运算的时候,如何让随机生成括号的问题困扰了我们很久,就是考虑到如果生成了左括号如何让它一定生成右括号,不使代码算式出错的问题。
    • 构思很久以后我们只想到了如何没有错误的生成一组括号。
    • 但是怎样实现多组,如果用循环一个一个比较的话,在题的数目多的时候会出现代码运行速度较慢的缺点。
    • 这次我们遇到的主要问题就是国际化这方面,虽然到最后我们也只实现了英语和汉语,但是找到了这种方法,只要我们建立了足够大的属性文件库,就可以随时调用了,也可以使用现成的。

    结对伙伴评价

    泰毓同学的学习积极性很高,自主学习能力也比较强,和他一起编程让我成长了不少,即便有的时候因为懒惰不想学习,但是因为不想坑泰毓同学,还是会坚持学下去,希望我们可以共同成长。

    PSP

    PSP2.1 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
    Planning 计划 0.5 0.5
    · Estimate · 估计这个任务需要多少时间 0.5 0.5
    Development 开发 14.5 21
    · Analysis · 需求分析 (包括学习新技术) 2 3
    · Design Spec · 生成设计文档 0.5 0.5
    · Design Review · 设计复审 (和同事审核设计文档) 0.5 1
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 0.5 0.5
    · Design · 具体设计 2 3
    · Coding · 具体编码 2 4
    · Code Review · 代码复审 2 2
    · Test · 测试(自我测试,修改代码,提交修改) 5 8
    Reporting 报告 2.5 2.5
    · Test Report · 测试报告 2 1
    · Size Measurement · 计算工作量 0.5 0.5
    · Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 1 1
    总计 18.5 24
  • 相关阅读:
    C++11:22委托构造函数和继承构造函数
    C++11:21通过智能指针管理第三方库分配的内存
    python 常识
    计算机基础
    XML
    flask请求上下文 及相关源码
    Flask框架
    Django orm 常用字段和参数
    docker 使用
    视图家族
  • 原文地址:https://www.cnblogs.com/zhanghaolin/p/6886629.html
Copyright © 2020-2023  润新知