大佬教程收集整理的这篇文章主要介绍了OO第四单元总结——我的踩坑历史大全与顿悟之路,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这三次作业中架构一脉相承,第一次作业搭建类图分析,第二次作业加入顺序图、状态图分析,第三次作业加入有效性检查器。下面以第三次作业为例,谈架构设计。
解决输入顺序导致空指针的情况——多次遍历elements:
先建立UmlClass,UmlInterface等的索引表,避免element中相关元素还没有被输入,如UmlGeneralization中target还未被输入等情况。
如先把UmlClass,UmlInterface存进HashMap里,最后再遍历UmlGeneralization。
对设计到请求操作的属性,建立Myxxx,(如MyUmlClass),并在其中建立其拥有的属性层次,封装好相关请求操作。
感谢OO给我一个顿悟如此多思想的机会,下面将结合我踩过的坑,谈谈我在架构设计以及OO思想方面上的学习之路。
第一单元初探OO——函数求导:
第二单元多线程——电梯换乘:
第三单元JML——社交网络:
第四单元UML——UML解析器:
在这个学期中我对测试的理解与实践都不太好,与大佬交流不太够,自己不会python的我好菜啊...仅从我目前的理解谈一下对测试的理解:
边界数据的必要性:
像在第一单元中依据数据限制,有必要构造超长数据进行测试。
对特例情况,也有必要进行测试,以满足程序的完备性。
警惕可能的空指针:
不知道哪个方法会给你RE的惊喜,有必要构造返回值为null的数据进行测试。
测试需要建立在一定的强度上:
手动构造的数据,需要建立在具有一定强度,即具有一定复杂性的基础上。如在第四单元里构造继承、实现接口、自关联等多层的复杂数据。
测试的本质还是理解问题:
不提对拍测试法,自己构造数据自己对照结果的测试,本质还是考查自己对问题的理解。若对问题理解有误,则对理想结果的理解就会偏差,无从与自己的结果对比,失去测试的意义。
通过OO课,在写代码的思想和方法上都受到了很大的启发。每个思想顿悟的具体内容见(二)总结,此处不做重复,仅作列出。
写程序的方法
理解“架构”对写程序的意义
理解"测试"的重要性
写程序的思想:分析问题,感谢课程组提供以完成一个目标为导向的过程,
理解"抽象思想"、“分层思想”,
理解"解耦"
在讨论区的讨论中,帖子是同学们的分散式讨论为结构的。即使在标题上进行简单标注,由于楼内内容也具有一定价值,所以也需要辛苦爬楼。而由于讨论区内容的繁多,容易出现重复提问,找不到相应问题的答案等情况。
建议:以第四单元为例,建议以对每个rule的讨论建立专楼
本学期一些涉及到编程的较难实验没有反馈,只是交上去告知是否编译通过,没有改正的环节,起到的学习的效果有限。
在第四单元的作业指导书中,每个rule的描述只有一两句,语义有很多模糊的地方,并且示例给的太过简单没有覆盖到我疑惑的点,给我的理解造成了一定的麻烦。
在第一单元中,因为不清楚后面作业要干什么,所以在写方法的时候为了省事进行了转换处理。导致下次作业条件变化时适配不能,只得重构,希望改善这个问题。
谢谢为我解决疑惑的大佬、助教们,谢谢把课上的这么有趣的纪老师,谢谢踩了很多坑没有放弃修的自己。
Sein heißt werden, leben heißt lernen,
wenn du das Gold von den Sternen suchst,
musst du allein hinaus in die Gefahr.
继续学习继续成长。
以上是大佬教程为你收集整理的OO第四单元总结——我的踩坑历史大全与顿悟之路全部内容,希望文章能够帮你解决OO第四单元总结——我的踩坑历史大全与顿悟之路所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。