OO第一阶段总结
一、各次作业程序结构
第一次作业
第一次作业由于初用JAVA,还没有深刻理解面向对象的编程方法,故在编程过程中只用了一个类,一个方法,即完成了相应的程序功能。这必然不是本课程的目的,我也将在之后的作业中着重注意面向对象的设计方法。
第二次作业
第二次作业中,尽管使用了多个方法,但仍没有采取多个类互相调用的策略,而是将电梯的运行简单的抽象成了对数组数据的处理,这对日后代码的维护与扩展带来了诸多的不便,在第三次作业中体现尤为突出。因此,一定要以此为戒,在之后的作业中注意锻炼面向对象的编程思维,拜托流程式的编程思维。
第三次作业
第三次作业中,主类负责总控,get_equst类负责对指令输入进行处理,同时进行错误输入的处理,而controller类负责对电梯的运行轨迹进行处理,并输出相应的运行情况。第三次作业虽然进行了分类处理,但是,每个类的每个方法还是集中了太多的功能,对于调试和日后的维护扩展依然存在着诸多的不便,在以后的作业中,还要着重对这方面进行改进。
二、自己程序的bug
第一次作业的bug为对于连续的运算符号的处理,产生原因是正则表达式运用不当。
第二次作业的公测bug为前导正号和uint数的取值,产生bug的原因是没有仔细阅读指导书,导致没有处理前导正号,且把uint当i来进行处理。
三、发现别人的bug
第一次作业所测程序并没有对异常输入进行处理,即所有异常输入都使得程序crash了,故不赘述。
第二次和第三次作业并没有发现所测程序的bug。
四、心得体会
设计方面,我总是受流程式编程思维的影响,很容易将一个类一个方法写的庞大冗杂,这样虽然仍能完成作业要求的相应功能,但这不是我们的课程的目的,因此我一定要利用好之后的每一次作业,来锻炼自己面向对象的编程思维,熟练掌握JAVA相关的知识。
bug方面,在着手编程前,一定要仔细阅读作业指导书,我的第二词作业的公测bug全部源自于对指导书的阅读不仔细。此外,在充分理解指导书的要求后,对编程思路的整理也是十分有益的。