第一次作业由于直接没怎么学过java,全靠一星期速成,前几天看了java的语法,但是因为光看没有打代码,学习效果并不是特别好。由面向过程转向面向对象,不是特别清楚该怎么办,虽然写的是两个类,但实际上是one-for-all的方法,所有的计算和输入输出全写在一个类里面导致一个main方法里嵌套多层判断,层次非常乱。输入根据指导书提示学习使用正则表达式来匹配。由于刚开始学习,所以第一次作业只能匹配出正确形式的输入。因为时间安排不合理,最后剩余debug的时间不多,导致没赶上提交的时间。第一次作业暴露了很多的问题,时间投入不够,面向对象思想的转变,正则表达式的学习,以及debug。

第二次作业是写傻瓜式电梯,和第一次笔比较,这次作业更具体,根据指导书提供的设计框架,让人更容易设计。因为这次作业的电梯调度比较简单,所以,这次主要是的问题是电梯调度类和请求类,请求队列类的关系。这次因为设计原因,把处理同质请求和计算时间都放在了调度类,统一输入,统一处理。仅在请求类里对不合理请求处理。在最后的debug环节里,发现自己的程序没有输出,最后de了半天才发现,之前用与存请求队列的数组是自己设定的定长数组,导致后来数组越界,改完bug后终于能过测试树的点了。在这次作业中,因为自己设计的原因基本没用上电梯类和楼层类,代码比例很不平衡。到第三次作业才意识到这会对我的代码产生很严重的影响。

第三次作业是对第二次的傻瓜式电梯做一些改进,主要是调度方法的改变,增加一个对捎带请求的处理。这次作业是对第二次作业的延伸,需要用到接口的实现和继承父类,以及对父类方法的重写。这时,第二次作业中调度类过于冗余的问题就体现出来了,电梯类和楼层类过于简单,导致重写捎带请求和重新处理同质方法时改变代码太麻烦,重写之后不能运行,再debug后只能处理非同质的请求,同质请求后的正常捎带请求无法处理。 这时我对自己第二次作业不均衡的代码分布感到很烦恼,对调度类debug的过程让人很难受。这些问题本都可以很好的避免,因为读指导书的不认真,导致设计的随意,以致一步步对代码产生越来越严重的bug,不仅是语法上的错误,更是设计逻辑上的问题。

总结:

三周的学习,让我知道写程序时设计合理的重要性,以及投入足够时间的必要性。debug也只是按照公测的结果来找bug,或者在设计之初就分好自己的校对树,但一般都没公测来的全面。经过这三次作业,能明显感觉到每周都在提升,这个过程确实比较吃力,可能学习方法上有不合适的地方,更多的可能是时间投入的不够。会在之后的作业改正,提升设计的能力。

OO第四次作业-对前三次作业总结的更多相关文章

  1. OO前三次作业总结

    一.第一次作业 1.程序设计分析 ![img](s1.ax1x.com/2018/04/02/CSgoSU.png) 图1 第一次作业类图 ![name](https://images2018.cnb ...

  2. OO前三次作业思考(第一次OO——Blog)

    OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...

  3. 第一次码java感想及前三次作业总结

    写在前面 嗯,首先是java,这学期第一次oo作业布置下来的周末才开始看的,第一次作业因此写得有些手忙脚乱.不过大概看了一遍后发现比c好用,入门更简单吧,好多操作直接import一下就能用了,码代码的 ...

  4. Blog总结(前三次作业总结)

    前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...

  5. OO前三次作业分析

    一,第一次作业分析 度量分析: 第一次的oo作业按照常理来说是不应该有这么多的圈复杂度,但是由于第一次写的时候,完全不了解java的相关知识,按照c语言的方式来写,完全的根据指导书的逻辑,先写好了正确 ...

  6. OO前三次作业简单总结

    随着几周的进行,OO课堂已经经历过三次课下作业.在这三次作业中,我被扣了一些分数,也发现了自己几次作业中一些存在的共同的问题. 首先以第三次作业为例分析,我程序的类图如下 一共九个类,其中Als_sc ...

  7. oo前三次作业博客总结

    第一次作业 实现多项式的加减运算,主要问题是解决输入格式的判断问题. 输入实例: {(3,0), (2,2), (12,3)} + {(3,1), (-5,3)} – {(-199,2), (29,3 ...

  8. 前三次OO作业总结

    一.作业总结 前三次的任务都是表达式求导.这是我在高中就思考过的问题,但是很久都没有付诸实践,直到学习了"类"这个强大的工具.还有正则表达式,如果能适当使用,则不失为一个字符串格式 ...

  9. 前三次OO作业小结

    I used to be enamored of object-oriented programming. I'm now finding myself leaning toward believin ...

随机推荐

  1. (转)添加Template(模板)并基于模板部署应用

    通过Template,可以定义一个或多个需要部署的镜像,定义依赖的对象,定义可供用户输入的配置参数项. 以cakephp-mysql.json为例. # oc create -f https://ra ...

  2. Jquery中的height(),innerHeight(),outerHeight()的区别

    前言 最近练习做弹窗,遇到height(),innerHeight(),outerHeight()的区别. 根据下面的盒模型来了解三者的区别. height():element的height; inn ...

  3. springboot activiti 整合项目框架源码 shiro 安全框架 druid 数据库连接池

     官网:www.fhadmin.org 工作流模块--------------------------------------------------------------------------- ...

  4. PHP中的call_user_func()与call_user_func_array()简单理解

    原文地址:http://small.aiweimeng.top/index.php/archives/52.html call_user_func:把一个参数作为回调函数调用 用法说明: call_u ...

  5. Scala(四):对象

    对象:Object 1.单例对象 2.伴生对象 3.扩展类或特质的对象 4.apply方法 5.应用程序对象 6.枚举1.单例对象 Scala中没有你静态方法或静态字段,可以用object这个语法结构 ...

  6. plsql分页

    分页是任何一个网站(bbs,网上商城,blog)都会使用到的技术,因此学习pl/sql编程开发就一定要掌握该技术.如下图: 1.  编写无返回值的存储过程 首先是掌握最简单的存储过程,无返回值的存储过 ...

  7. scribe日志系统安装笔记

    版本历史 2011-02-12 17:36:57 完成文章2011-02-23 10:49:12 更新,修正部分文字 目前web访问日志为crontab定时清空,而且负载均衡后,访问随机分配到一台服务 ...

  8. MYSQL注入天书之盲注讲解

    Background-2 盲注的讲解 何为盲注?盲注就是在sql注入过程中,sql语句执行的选择后,选择的数据不能回显到前端页面.此时,我们需要利用一些方法进行判断或者尝试,这个过程称之为盲注.从ba ...

  9. RMAN中建立Catalog 用数据库的例子

    RMAN中可以备份metadata到control文件,也可以备份metadata到数据库中,此数据库称为catalog database. 本文参考网上文章,建立一个例子: 使用机器: 机器1:ta ...

  10. pythonDjango开发-创建django程序

    1.创建jgango程序 a.命令 cmd命令行下 进入到需要创建项目的路径下 django-admin startproject mysite  创建项目 cd mysite 进入项目文件夹 pyt ...