About the Renovation1-3
本次博客针对的是面向对象程序设计暑假重修,在pta平台所布置前三次的作业,前三次的作业总体来说难度并不是特别大,第一次作业主要涉及的是对于数据的排序,其难度从易到难,考验的是对于排序方法的熟悉和使用。第二次作业同样是排序的应用,难度相对于第一次有较大的提升,作业中排序的对象从数据变成了数组,由于题目限制不允许使用List的排序方法,所以使用对于一维数组的sort方法可以快速解决此类问题,而最后一题需要写出的冒泡,选择,插入排序带我回忆了当初学习C语言时的解决排序问题。第三次作业主要是对于类和对象的使用。
从面向过程过度到面向对象,对于类的使用是非常重要的一点,类具有非常多的特性,而这些特性为用户提供的帮助是要大于面向过程中的函数的,这也可能是Java语言被创造出来的初衷。
在写作业过程中我遇到的问题,在Renovation01中,我一开始仅仅是应付于单独题目所要求的目标,而后来发现他们的通性后我改变了方法,直接写了一个排序的代码,从而直接ac所有题目,这引发了我的思考。写作业的目的并不是单纯的让我们解决某一个问题从而收悉代码,而是解决这一类问题的时候都可以使用这种解决方法,从而引申到以后所写的程序并不能只让程序员能够明白,它应该面向大众,面向所有人,这才是当下的程序所应该做到的事情。在写Renovation02时,我写完一个代码后在eclipse中运行了他的测试输入,编译器中的输出也是正确的我便提交了,但是没有通过所有的测试点,在不断的尝试中我发现,有许多特殊的测试点是我没有考虑到的,在增加了限制条件后成功通过。而Renovation03中我一直无法理解第一题如何通过,现在仍然没有什么头绪,希望老师能够帮我解答。
作业花费的时间比例,第一次作业我用了半个小时解决,由于难度的增加,代码长度和复杂程度,所需要调用的函数也变多,后面的作业基本上都花费了两个小时以上的时间才得以解决。
对编程过程的严谨性(软件测试)的认识及教训,我觉得debug对于程序员来说是一种不可多得的好方法,可以在我苦恼于找出错误时帮我定位到错误的地点,有时代码可以正常运行但是仍会出错,同时也让我意识到了严谨考虑问题的重要,错误往往就是出现在我轻心大意的地方。
其实对于作业我大部分我觉得对于掌握知识都非常有帮助,但是部分作业会出现固化思维的情况,例如;

这样就将代码限制于类中,而对于类的要求也被main函数中的种种所限制,这就没有办法发挥出代码的灵活性,从而出现查重概率大的事情,当然每个人对于代码都有自己的理解。

浙公网安备 33010602011771号