OO第一阶段总结

一、各次作业程序结构

  第一次作业

  第一次作业由于初用JAVA,还没有深刻理解面向对象的编程方法,故在编程过程中只用了一个类,一个方法,即完成了相应的程序功能。这必然不是本课程的目的,我也将在之后的作业中着重注意面向对象的设计方法。

  第二次作业

  第二次作业中,尽管使用了多个方法,但仍没有采取多个类互相调用的策略,而是将电梯的运行简单的抽象成了对数组数据的处理,这对日后代码的维护与扩展带来了诸多的不便,在第三次作业中体现尤为突出。因此,一定要以此为戒,在之后的作业中注意锻炼面向对象的编程思维,拜托流程式的编程思维。

  第三次作业

  第三次作业中,主类负责总控,get_equst类负责对指令输入进行处理,同时进行错误输入的处理,而controller类负责对电梯的运行轨迹进行处理,并输出相应的运行情况。第三次作业虽然进行了分类处理,但是,每个类的每个方法还是集中了太多的功能,对于调试和日后的维护扩展依然存在着诸多的不便,在以后的作业中,还要着重对这方面进行改进。

二、自己程序的bug

  第一次作业的bug为对于连续的运算符号的处理,产生原因是正则表达式运用不当。

  第二次作业的公测bug为前导正号和uint数的取值,产生bug的原因是没有仔细阅读指导书,导致没有处理前导正号,且把uint当i来进行处理。

三、发现别人的bug

  第一次作业所测程序并没有对异常输入进行处理,即所有异常输入都使得程序crash了,故不赘述。

  第二次和第三次作业并没有发现所测程序的bug。

四、心得体会

  设计方面,我总是受流程式编程思维的影响,很容易将一个类一个方法写的庞大冗杂,这样虽然仍能完成作业要求的相应功能,但这不是我们的课程的目的,因此我一定要利用好之后的每一次作业,来锻炼自己面向对象的编程思维,熟练掌握JAVA相关的知识。

  bug方面,在着手编程前,一定要仔细阅读作业指导书,我的第二词作业的公测bug全部源自于对指导书的阅读不仔细。此外,在充分理解指导书的要求后,对编程思路的整理也是十分有益的。

最新文章

  1. C++成员变量的初始化顺序问题
  2. Highcharts ajax获取json对象动态生成报表生成 .
  3. storm的数据源编程单元Spout学习整理
  4. 利用IDE编写C语言程序的一点注意事项
  5. 第 7 章 门面模式【Facade Pattern】
  6. ubuntu-15.04 下编译 ijkplayer 安卓版
  7. xshell4无法使用小键盘问题解决
  8. python3.4 使用pymssql 乱码
  9. 【javascript】数组的操作
  10. Openfire分析之三:ConnectionManager 连接管理(1)
  11. Microsoft Flow 概览
  12. ScalaPB(0): 找寻合适的内部系统微服务集成工具
  13. Linux下yum安装MySQL yum安装MySQL指定版本
  14. OpenStack-Neutron-Fwaas-代码【一】
  15. Flex(ActionScript)与JavaScript交互的两种方式示例
  16. 【CentOS7.0】虚拟机如何实现扩展存储空间
  17. 2、SpringBoot接口Http协议开发实战8节课(7-8)
  18. 用Java实现MVPtree——MVPtree点集内去重以及衍生出来的多维向量Hash问题
  19. vue+webpack热替换
  20. 关于java.io.IOException: HADOOP_HOME or hadoop.home.dir are not set.的问题

热门文章

  1. Flume(一):简介架构
  2. Struts(十九):类型转换、类型转换错误消息及显示
  3. DVA框架统一处理所有页面的loading状态
  4. bootstrap——bootstrap-table(1)
  5. Python 学习开篇
  6. CSS3和H5的新特性
  7. DDD实战进阶第一波(五):开发一般业务的大健康行业直销系统(实现产品上下文领域层)
  8. ConcurrentHashMap源码分析(1.8)
  9. 洛谷P2405 non天平
  10. 【USACO】又买饲料 单调队列dp