242
社区成员




迭代中的架构调整及考虑
在前三次作业中,我没有设置manager类,而是将大量的静态方法写在Main类中,并且很多静态方法包含了从输入端读取数据的操作,造成的问题是:1、Main类过长。2、很多方法因为包含读取操作,不方便写junit测试。
在第四次作业时,我将读入操作单独拎了出来,将读入的结果写进数组中,传给操作函数,操作函数对数组中存的内容进行处理后,把参数再传给各个方法,有效的解决了我的问题2
在第六次作业中,此时我的Main类和Adventure类已经接近500行,所以我又做了一次架构的调整,单独设置了一个manager类,来管理Main类中原本的一些静态方法,同时设置Command类来分担Adventure类的压力
以上是我做的比较大的调整,其余的调整都是根据新的任务指令,按要求增加类,子类,接口。
诚实的说,难用是junit给我最深体会,junit在本期的学习中,几乎没有给我任何的帮助,造成这样的原因如下:
大部分的错误会在报错的指导下和对中测的debug中解决
对于题目并不能把握到此题的边界情况和特殊情况是什么,手捏的数据没有针对性
数据纯手编,耗时量还少
每次写junit都让我头疼,因为你不只是收捏数据那么简单,你还得自己去吧数据会调用的函数写进test里,一点也不方便 但是后来,通过向其他同学取经,我在test中调用Scanner对象时,把它指向一个String in , 然后直接 往in里添数据就行了, 实在是方便多了
Java中方便的方法调用,让我能把更多的精力放在架构设计,去思考哪一些的指令该交到底层去执行,封装好在传上来,去思考这个任务我该把它分成几个对象,每个对象要解决的问题是什么,而不是像之前的C语言一样写成了一个大杂烩。
在学完子类后,我会去思考不同对象之间的关系,避免去重复的造轮子,保证代码的简介性
在学完了接口以后,我回去思考,某一问题是否是关注不同的对象的共同属性,并且利用接口直接在原来的程序上拓展,避免了重新生成另一个新类,保证结构上的简洁性
在学完工厂模式后,我意识到很多问题其实可以套用这些模版,将复杂的问题变得简单。
我觉得可以教一教同学们如何造数据,不然junit真的很折磨
上课的内容专业性术语,听得有些云里雾里的