OO课程第四次总结

终于来到了最后一次的OO做业,以博客做业的形式来终结也是极好的,回顾一下过去十六周本身的经历,感慨颇深。编程

测试和正确性论证安全

简单来讲,测试的目的是将程序的代码作到全覆盖,从而确保每一个分支都运行一遍,进而分析代码中是否有错误,错误出在哪里。这个方法是十分实用的,能够有效的找出本身代码中的错误,即很容易发现浅显的错误,但不容易发现隐晦的错误。编程的经验告诉我,确实存在那种执行了多条代码以后有了不同的结果,一环套一环,这种状况虽然很难发现,但确实存在。而正确性论证则不一样,它经过大量的穷举,基于repOK和jsf来论证正确性,能够说绝对正确,但时间复杂度实在过高了,远高于写这份代码的复杂度。多线程

 

OCL和JSF测试

OCL的基础是数学中的集合论和谓词逻辑,而且它有一个形式化的数学语义,可是它并无使用某种数学符号。由于虽然数学符号可以清晰的、无歧义的表达事物,可是只有极少的专家能够看懂。因此数学符号并不适合用于一个普遍应用的标准语言。天然语言是最易懂的,可是它是含混不清晰的。OCL取了天然语言和数学符号的折中方案,使用普通的ASCII字符来表达数学中一样的概念。若是你不喜欢当前的OCL表达方法,OCL规范还容许你定义本身的OCL符号集,这点是能够理解的,由于OCL有一个清晰的数学语义。spa

相同点在于它们都采起了天然语言和数学语言的折衷,采用了前置条件,后置条件和监护规则的模式,不一样点在于OCL有着丰富性和完备的可计算性,更重量化。
线程

 

 

UML图对象

 

 

 

总结blog

 

这一学期下来,我从最开始连Java都不怎么会编的菜鸟变成了如今能顺利经过OO的人,期间可谓受益不浅。要谈到本身的进步的话,从第十四次做业能够看出来,以往的做业真的就是一个超级面向过程的做业,后来才真正的理解了面向对象。接口

四个章节从最开始的初次提到面向对象再到后面的多线程及线程安全,是编程能力的提高。抽象与规格则要求了规格化的编程,最后强调了工程化的质量。开发

 

有一个很简单的评测标准,那就是方法的行数,实不相瞒,最开始个人Java代码有过一百多行的方法,写它的jsf简直要把我写死了!后来到了出租车,基本上就没有了这种问题,但面对以前本身的做业,只能狠下心来重构了。也真真切切的了解到了面向过程和面向对象之间的差距,代码能力也会有显著提升。

 

我认为工程化开发最重要的是可移植性和便捷程度。由于一个工程须要一个团队合做完成,所以各自负责的部分必需要把接口写好,方便别人使用;同时程序内部虽然是一个黑箱,可这个程序后期是可能进行加工的,而且有可能不是原开发者加工维护,因此代码必定要简洁明了,符合规范。

 

我对课程的最大指望是,在文件系统的那一章做业,要么下降难度要么增长时间。个人能力有限,时间也没法所有放在OO一门课上,因此有限的时间内我没法保证做业的质量,分到一个心狠手辣的人我就被扣的不成样子,一样写的很差的同窗却不会这样,这中间的落差很容易让人走向黑化的道路,进而病毒式的扩散到全系。老师或许会说,保证做业质量就不会有这样的状况了,说的太对了,可这个课的难度自己就应该让全部人努力一下就不会太惨才对,不该该有这一章做业存在,请老师好好考虑,否则像我这样运气很差的菜鸟只能在申诉以后面对助教一句“所有视为错误”以后想骂人了。关于这门课我真的没什么好赞美的,它让我学到了不少东西,面向对象的编程思想,节约时间的必要性等等,却也让我明白了黑暗森林体系中每一个人能有多疯狂,吴际老师说未来每一个人都会感谢这门课教会本身的东西,可我更喜欢另外一个老师的这句话:“社会是复杂的,但但愿咱们尽可能保持一颗纯洁的心”。与君共勉,继续努力

相关文章
相关标签/搜索