首页 > 其他 > 详细

第一次作业简单艰辛的历程

时间:2018-09-12 00:55:42      阅读:228      评论:0      收藏:0      [点我收藏+]

快的并痛苦着

一、预估与实际

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

二、需求分析

  • 要根据实际情况,结合实际,并不是所有的小学一年级生水平都一样,需要有一个范围
  • 只有加减法
  • 不能有负数小数
  • 100以内的运算

经过分析,我认为,这个程序应当:

  • 控制在一、二年级生能完成的水平内
  • 都是整数,不能有小数,因为小数点一年级还没学哈哈
  • 不能出现负数
  • 数据范围严格控制好,不要超纲

三、设计

1. 设计思路

  • 说明你如何设计这个程序
  • 用户输入的参数,需要判断是否符合要求
  • 题目随机生成,需要符合一二年级的算术规则
  • 不能产生负数
  • 范围100以内
  • 运用随机数random()
  • 文件的生成与写入
  • 将题目和答案存入out.txt文件

比如:

  • 最重要的,判断用户输入的数字是否符合规定,不符合的话,应该怎么提示,这又应该怎么控制
  • 用到比如Integer.parseInt,一开始很困难,通过借鉴请教别的同学的以及查阅资料掌握
  • 一二年级的数字范围

2. 实现方案

  • 准备工作:先在Github上创建仓库,克隆到本地.
  • 技术关键点:如何用命令行输出参数

四、编码

  • 没有考虑到用户输入输入的参数不是整数数字的
  • 开始有很多问题,比如不会生哼随机数,不会写入文件等等,通过复习和查阅资料弄清楚

1. 调试日志

  • 一开始出现的大小bug简直是天花乱坠,后来经过很漫长的分析修改,一步一步的来,终于稍微好点了(感觉现在自己的代码还是有很多bug)- 。-
  • 算术题出现晓得一个数减去大的一个数理应是负数,但是小学一年级不会负数,所以需要换一下位置,用大的减去小的
  • 当输入不是整数的时候,包括输入英文等其他内容,需要提示重新输入

2. 关键代码

private static int n1,n2,x;    //定义三个静态成员
private static String[] str1 ;
private static String sun;   //创建新对象字符串

public static void main(String args[]) throws FileNotFoundException, InterruptedException {
    // TODO Auto-generated method stub
    int i =Integer.valueOf(args[0]).intValue();   //题目
    int g =Integer.valueOf(args[1]).intValue();   //年级
    //输出保存在文件中
    File file = new File("out6388.txt");
    PrintStream ps = new PrintStream(file);
    System.setOut(ps);
    choiceGrade(i, g);
    

3. 代码规范

  • 有关缩进的问题,一定要符合规范,一个是整洁,一个是养成好习惯
  • 括号的问题,有的是(),有的是{}一定要区分清楚
  • 代码的命名不规范向,这次写的代码命名就很不规范
  • 用不上的代码直接注释掉//

五、测试

  • 1.MathExam 输入参数: 5 测试结果:生成符合数目的几道一年级题目和答案 结果: 符合
  • 2.MathExam 输入参数:5.2 测试结果:输入有误,请重新输入 结果:符合
  • 3.MathExam 输入参数:aaaaa 测试结果:输入有误,请重新输入 结果:符合
  • 4.MathExam 输入参数:0 测试结果:输入有误,请重新输入 结果:符合

六、总结

  • 一开始体验了什么叫无头苍蝇一样手足无措...
  • 是否使用了“软件开发的基本策略:分而治之”,是否需要重构
  • “高质量的设计、规范的编码以及有效的测试是保证软件产品质量的三个重要方面”,你是否采用了相关的手段,是否需要重构
  • 一定要充分考虑到需求的重要性,比如当客户没有输入预期值该怎么处理等等
  • 当遇到不会的东西首先自己去查找学习并做好几率,再不行就去问问同学老师,争取自己独立解决。
  • 先写注释再写代码思路会清晰很多很多!!

第一次作业简单艰辛的历程

原文:https://www.cnblogs.com/Yinhaichuan/p/9631669.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!