博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OO第一次总结博客
阅读量:4326 次
发布时间:2019-06-06

本文共 1468 字,大约阅读时间需要 4 分钟。

第一次作业

分析:OO第一次作业是实现多项式加减,这次作业主要是对输入的处理,输入处理好后就只是数据的简单相加。但第一次使用java,对语法还不是很熟悉,处理复杂字符串时手忙脚乱,有很多编译上的错误,花费了大量时间。但在学会用正则表达式处理字符串后,本次作业变得相对简单,虽然还有很多细节的边界点需要考虑,但大体的要求都能满足。本次作业主要还是熟悉java环境,主要功夫在字符串输入处理,由于还未完全脱离C语言的思想,这次作业我只写了一个类,思路也很不清晰,毫无类的思想和层次可言。

Bug:这次作业我和互测对象的bug都体现在一些输入上的边界点,如超大字符串这种问题。由于写代码时思路不清晰,边界情况考虑不全,导致程序出现了bug。在以后的作业中,要更熟练地处理字符串,并将方法写成类,使代码层次结构清晰。

第二次作业

分析:从第二次作业开始接触电梯这一运行对象。其实本次作业的算法不是很难,主要还是要学会掌握java类与对象的思想。通过将电梯,请求队列,调度器等抽象为类,实现各类相对耦合度较低的方法,完成从面向过程思维到面向对象思维的转变。这次作业难度不是很大,只要各个类方法写好,主体逻辑完整,大体不会出错。

类图:

Bug:本次作业基本没发现什么bug。但在测试别人的程序时,我发现公测的每个点都只针对一个方面,如只测同质或只测调度。但当将几种不同的处理结合起来时,程序就有可能因为主逻辑不对而出现错误,但这种错误在检测单一功能并不会出现。再回头看我的程序,某些类耦合度相对较高,各个类的比重和分工还不是很均衡,这样如果逻辑出现问题,调试的工作也会更复杂,所以写java程序时,要尽量让类实现自己的方法,使其分工明确,降低类间的耦合度。

第三次作业

分析:这次作业是基于第二次作业傻瓜电梯的改进“ALS”电梯。总体来说代码不会有大的变动,只是需要重写一个子调度类实现算法。本次作业重点在于ALS的算法,我的算法是以电梯为主体,每隔0.5s去根据电梯状态重新调度请求并进行更新。这样的想法虽然简单,但在实际写代码时,我发现以时间为循环要考虑的内容过于复杂,如电梯频繁的状态转换,如何处理同质请求等。而且这种算法提高了类的耦合度,调度器类和电梯、请求队列混为一体,逻辑复杂。也因此,这次作业因为一些逻辑的问题出现了严重的错误。

类图:

 

Bug:本次作业bug主要来自于算法逻辑,如果算法某些情况没有考虑到,就会在那些情况运行时出现逻辑的错误,且算法不同,错误方式也不尽相同。在处理这些bug时,我最深刻的感受是:对于算法比较复杂的情况,一定要先动脑想好自己的逻辑,并画出运行框图,将一些可能的情况都过一遍,不然草草下笔,只会写出一堆逻辑混乱的代码,然后反复更改调试,更浪费时间。

心得体会:

(1)写代码时类的比重尽量均衡,各类应分工明确,类间耦合度不应过高,一些反复使用的代码可以写成类的方法,不要在某一方法中写出逻辑过于混乱的高耦合度代码

(2)写代码前要多花时间想想代码的结构,写几个类,每个类都有什么方法,类与类怎么合理交互实现功能。磨刀不误砍柴工,一个清晰的构思是优质代码的必要条件

(3)要多从别人的代码学习,也要从自身和他人bug吸取经验教训,不断完善自己的代码,提高编程水平

(4)不要拖延,早点开始写代码,多花时间调试找bug

总结:

最后,希望能在今后的学习中不断提高编程能力,轻松写出高质量java代码

转载于:https://www.cnblogs.com/baixusata/p/8711360.html

你可能感兴趣的文章
ajax跨域,携带cookie
查看>>
阶段3 2.Spring_01.Spring框架简介_03.spring概述
查看>>
阶段3 2.Spring_02.程序间耦合_1 编写jdbc的工程代码用于分析程序的耦合
查看>>
阶段3 2.Spring_01.Spring框架简介_04.spring发展历程
查看>>
阶段3 2.Spring_02.程序间耦合_3 程序的耦合和解耦的思路分析1
查看>>
阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件
查看>>
阶段3 2.Spring_01.Spring框架简介_05.spring的优势
查看>>
阶段3 2.Spring_02.程序间耦合_7 分析工厂模式中的问题并改造
查看>>
阶段3 2.Spring_02.程序间耦合_4 曾经代码中的问题分析
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_4 ApplicationContext的三个实现类
查看>>
阶段3 2.Spring_02.程序间耦合_8 工厂模式解耦的升级版
查看>>
阶段3 2.Spring_03.Spring的 IOC 和 DI_6 spring中bean的细节之三种创建Bean对象的方式
查看>>
阶段3 2.Spring_04.Spring的常用注解_3 用于创建的Component注解
查看>>
阶段3 2.Spring_04.Spring的常用注解_2 常用IOC注解按照作用分类
查看>>
阶段3 2.Spring_09.JdbcTemplate的基本使用_5 JdbcTemplate在spring的ioc中使用
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_02.ssm整合之搭建环境
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
查看>>
阶段3 3.SpringMVC·_07.SSM整合案例_04.ssm整合之编写SpringMVC框架
查看>>
小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_5、SpringBoot2.x的依赖默认Maven版本...
查看>>