OO第二单元(5-8周)作业总结要求(第八次作业)
又经历了几次大作业,怎么说呢。学到的更多了吧,主要是对java与C语言不同的地方的了解。
首先便说说这几周令我印象比较深刻的大作业吧,第一就是那个水文校验的大作业,如下图

第一次看到这类图,确实是吓了一跳。再加上第一次使用正则,当时就在想这是什么鬼,一个类里面这么多方法的吗。但是后来我发现并没有很恐怖,因为方法多但是又不是很难。而且经过写这次代码我学到了几个基本的事情;第一:写代码不能跳,不能烦,不能上手就开始写,要有思路要有步骤。具体是什么意思呢,就是我刚开始拿着类图就上手写,但是后来发现根本写不出个所以然,自己只知道对着类图写,完全没理解具体是怎么运行的。代码为什么这样构造,上一步怎么到下一步,每个方法之间有什么联系。因此我停下了我的步子,我又仔细看类图,观察每个方法的作业,方法与方法之间如何互相调用。类与类之间有何关系,为何存在这种关系,等理解了这些以后再开始动手敲代码速度就提上来了,思路就清晰了。所以说写代码要明白所以然要自己思路上能理解。第二:就是正则不会用其实不是很恐怖的事情。说白了正则其实就是对输入的表达式的判断,具体是什么意思呢,就是把输入的字符归类,然后对其格式进行判断。而且无论是百度还是CSDN、博客园都有着很经典的教程。用心看,用心学,自己写测试代码很快就能学会的。还有就是不能死追着正则不放,正则的目的是为了方便我们,但是就拿这题的日期来说,如果纯用正则过于复杂。在这种情况我认为应该退而求其次,想办法通过其他方法对格式进行判断,不然就是跳入了坑中不方便爬出来。第三:编写代码并不是为了完成PTA的任务,测试点可以混混就过去,但是并不代表我们考虑的很全面。我记得是另一次大作业的求导的题目,我做了很多遍。简化了很多次代码,到最后我能够让自己不编写主要方法,用40多行代码能够做到60分的题目得40多分。就是把测试点的空子过掉了。但是我知道那是不可取的,因为我们编写代码目的性很强,是为了解决一件事情,完成一个任务,无论发生什么情况我们都应该有相应的输出而不是崩溃。也就是考虑的机制要全,同时要让自己的代码进而简洁易懂可复用性高。
第二次让我印象深刻的便是求导了,那次PTA的测试点我感觉确实出了问题。记得刚开始毫无思路,怎么分开来依次求导?因为有了上一次的经验,我也不急着动手敲代码,就坐着想。坐在电脑前做了大概一个上午加半个下午,终于想到了思路。然后开始敲代码,首先通过PTA给的测试点考虑自己的代码是否考虑全面,紧接着过了PTA的测试点再仔细检查代码观察自己写的是否全盘考虑到了。有了上一次的深刻总结后,这一次我不断对代码进行改进,在最后让自己满意了,无论是可复用性还是Java的单一职责原则,开闭原则我认为自己都尽力去做好了。
其他几次大作业都挺简洁的,只能说一次在上一次的基础上跟深入一点。从一个类到多个类,从多个类到继承类,从继承类到抽象类,从抽象类到接口类。在逐步深入,逐步让自己接受更多的东西。而且逐步让自己体会到Java的基本原则。
从单一职责原则:每个类,每个方法都有着自己的功能,都需要去实现题目中的部分要求。类的功能由该类决定而不受其他无关类的影响。
开闭原则:是面向对象设计中“可复用设计”的基石,是面向对象设计中最重要的原则之一,其它很多的设计原则都是实现开闭原则的一种手段。对于扩展是开放的,对于修改是关闭的,这意味着模块的行为是可以扩展的。
每次大作业花费的时间比列吧:2:2:1。原则上花费的时间都是一天多,两天不到,除了最简单的那次大作业。
最后便是对课程的收获和建议了,收获很明显,对Java的了解与使用更加深入了。然后建议就是可以多结合大作业讲解知识点,这样更通俗易懂。
浙公网安备 33010602011771号