第一次博客作业

第一次作业

刚开始接触到JAVA,对于对象啊类啊什么的都不是很能理解,语法都是通过慕课网和菜鸟教程一天速成。从面向过程到面向对象的转变还是比较困难的,然后第一次作业就变得惨不忍睹,用面向过程式的写法来实现,当时还觉得这和C有什么区别吗……(事实当然是自己蠢emmm)

第一次作业采纳了学姐的建议使用了正则表达式,陌生的东西从一开始接触到认识真的是太困难了,正则表达式的学习也不能避免这一点,我看了一晚上都还处于懵逼状态,第二天也是费了很大力,最后为了先应付一下作业,就通过各种表达式的例子去熟悉最常见的几种用法,最后作业中的正则表达式成功完成,并且匹配也是没有问题的。乃至二三次作业中,我依然采用了正则表达式(没有尝试过状态机),优势非常明显,果然很简洁,当然这两次的匹配并不难,很容易实现。

但是因为要解决上学期残留的学业问题,第一次的作业我并没有为之分配所需的足够时间,再加上效率低下,到作业提交的时候,我的程序只能完成对输入的鉴别,功能实现上有残缺,不能有效计算。另外很惭愧的一点是,这一次的破代码非常神奇的不见了……对,我现在都不知道是怎么回事……后面的作业与多项式都无关,所以我也没有花费时间重写。

通过和其他同学的交流,我知道只采用一个正则表达式会被爆栈,所以我很小心的用了两个,但是重点是程序有非常大的bug,以至于它都不能计算出结果(可以正常编译),第一次作业放弃了……不过在互测阶段,我从其他同学那里获知了更多需要注意的细节,总之就是一不下心会掉坑里,虽然对于第一次作业并没有什么用,但是前事不忘后事之师啊~

第二次作业

在某大佬的帮助下,我对面向对象式多了一点点认识,第二次作业没那么蠢了,时间上我觉得还好,从周末的时候就开始做,自觉是比较及时的。

放张类图:

再看一下代码度量:

第二次作业中的傻瓜电梯真的是特别傻,不过对我来说傻得挺好,写起来横冲直撞,省去了不少麻烦。这次没有完全采用推荐的方法,楼层类没有用到,做了一个摆设,而且很多人都这样(滑稽.jpg)

也很明显,第二次作业在当时没有完全克服第一次作业的阴影,还是有不尽人意的地方,在提交那会儿,它还是有一点功能上的bug,但是过基本样例是没有问题的,这一次很惨的就是我拉取错了,完全就是自己的锅,白白摊了一次无效作业……

第三次作业

在做第三次作业之前,我耐心地de掉了第二次作业的bug,不知道是不是隔天看代码会格外冷静和敏锐还是怎的,我很快就解决了残存的问题,跑了几个超级长的样例都没有问题,这会儿心情很是畅快。在这时第二次作业的基础上,我对其中的main类、dispatch类(调度类)、elevator类(电梯执行类)进行了相应的改动,效率比较低,因为该花的时间我都花了,但是依然没有完全解决问题,程序对有些请求的处理依然有毛病,那可能是花的时间还是非常不足吧唉……

来看一下第三次作业的类图和代码度量:

其实统一来看,我对于PPT和后来助教在群里通知不够重视,在第三次作业临提交时,我还淡定的在debug,结果就是在交的那会儿才知道需要toString和接口(笑容渐渐僵硬……)然后抓狂的改,但是这个toString实现遇到了困难,我的代码并不容易实现,公测些许应证了我的猜测,因为我所有的正常功能测试里,输出的楼层都是1……但是我之前的代码不说所有样例都能全部实现吧但也可以实现一部分的嘛,这很明显了,也……很想让我打自己一顿。还有!这一次我终于出现了输出格式问题,我的invalid输出和same输出都带了“#”号,虽然对最后的结果没什么影响,但是看着那么一大片红,心里还是很难过。

在第二三次作业中,我经常会遇到变量声明上的警告……也是非常不走心了……不用心注意然后就一直需要改。不过这和程序功能实现不完整比起来都算什么啊~既花了时间,也用了心,但是脑子拎不清啊哈哈,功能实现时,自己的逻辑都不大拎清楚emmm,结果唉,一言即尽……很可惜。

我可以再说一遍前事不忘后事之师吗唉……

心得体会

真的是如老师所说,在有作业的时候,可能一个周也拎不清的正则表达式你一晚上就会用了。而且从来没有接触过的JAVA在遇到作业的时候也是可以一周速成的。另外看别人的程序真的是获益良多,忙着做OO感觉还不错,但是要熬夜这个事我真的是非常拒绝……但是做不到啊~用生命在做OO…………不过de掉一个bug的感觉也是非常之爽了。

原文地址:https://www.cnblogs.com/mzny/p/8718121.html