OO第四单元总结

第十三次作业

惯例上图

1615608-20190623230305040-89095329.png

1615608-20190623230318425-1095620220.png

1615608-20190623230324163-401131560.png

1615608-20190623230331042-98636021.png

WA得很惨,因为很多细节没考虑到……写得时候仓促又疏忽,很难受,又一次因为自己的摸鱼而付出代价。感觉自己OO分莫得了。

第十四次作业

惯例上图

1615608-20190623230453038-658900949.png

1615608-20190623230458770-771649449.png

1615608-20190623230503264-1883782118.png

1615608-20190623230508287-488576181.png

1615608-20190623230514777-621956921.png

1615608-20190623230533812-965523985.png

1615608-20190623230542535-787763749.png

沙雕错误强测WA了俩,看开了也就觉得还好了。

架构设计及OO方法理解

第一单元 :作为入门的一个单元,基本处于试水阶段,继承实现封装什么都不太清楚,但是这个单元结束的时候架构也还算可以,不过总结起来还是懒了点,本人是真的对写很多类有点抵触,但其实良好的分类封装又是好的架构的基础。这个毛病到最后一个单元也没改掉,还需努力还需努力。对于OO方法的理解,这个单元可以说是基本没有……就很肤浅的觉得OO就是把要操作的东西放到class里面,写好访问的方法之类的,用数据结构的思想在写代码,没有从设计架构的层面上去思考。

第二单元 :第二单元是我最喜欢的一个单元,在经历了第一单元的痛苦人生之后,第二单元显得尤为可爱,多线程的理解虽说不算深入,但是完成作业是没有问题的,而且没有算法的困扰(或者说我设计的时候就是傻瓜设计,不行就特判),所以写的时候思路清晰了体验非常好。而且这一个单元可以说是收获最多的一个单元,多线程的理解,和架构的考量,对OO方法的深入,感觉是终于摸到了OO的门槛。先从实际情况开始思考,再把模型抽象成类,再考虑类之间的关系,最后考虑线程之间的并发。

第三单元 :说句实话,这个单元感觉是从简单的填空,变成带有算法问题的填空,算法菜鸡感到一丝痛苦。由于是给了接口来实现,导致我也没有过多的花心思设计架构,只是把代码都堆到一起,填空结束就算数罢了。不过确实是理解了JML,学习了代码规范。

第四单元 :UML的学习让我更清楚地认识到了自己代码的结构,通过对UML的分析,也让我更深入的了解了架构设计的重要,但是我还是有点为了500行以内而分类,没有过多的设计架构,屎山代码名副其实,而且也没有很好的算法,我寻思不能有比我复杂度更高的算法了吧!

测试理解与实践

第一单元由于数据也比较好生成,测评姬也比较好搭,我自己写了一点脚本来跑,体验很好,但是后续第二单元试了试有点难度,加上其他课业也忙不过来,就没有再深入研究了。不过我认为测试也是学习的一种办法,数据生成器也是对数据的深入理解,然后挂着跑出问题也能找到我自己所没注意到的地方。虽然实践不多,但是尝试着迈出第一步,感觉比呆在原地也是一大进步。

课程收获

  • 学会了用Java写OOP
  • 学会了用各种测试调试方法,使用异常流错误流等等
  • 学习了继承、实现、多线程、代码规范等相关知识
  • 收获了良好的代码风格,感谢check style
  • 学习了架构设计的方法
  • 学习了JML和UML
  • 增强了debug能力,面对千行代码debug一点不虚
  • 增进了同学之间的感情,都是错过同一个bug的兄弟

改进建议

  • 第一单元的难度对于算法菜鸡而言真的有点大,可以考虑算法层面简单一点,而且一来就是大量的数据处理的细节,感觉有点劝退。但是后面体验越来越好了。
  • 上机的存在感有点迷惑,如果说是作为课上和课下的桥梁,但我感觉很多同学都在上机的时候啥也没做出来,对上午的知识还很蒙蔽,然后也没有起到相应作用,但是我觉得上机的内容很多还是很好,对于入门很友善,保留内容的前提下可以换个形式?
  • 寒假作业和第一单元跨度太大了,一些入门的东西可以设置一点小作业来寒假的时候入门完成,而不是简单的hello world难度。或者第一单元逐渐学习一点,然后压缩一下后期第四单元的内容……第四单元最后的体验有点迷,感觉很多不清楚的地方,虽然深入学习了UML,但是感觉过于低效。

OO完结撒花,总的而言还是快落多于痛苦的。OO这门课最让我感动的地方就是:虽然听学长学姐吐槽了这么多年,但是今年真的是顶着压力做了很好的改革,我们真的也都切实体会到了,而且OO课程组处理问题效率真的算很高了,助教时常深夜在群里出没背锅很辛苦,我们虽然刚开始也有吐槽也有不满,可是大家也都感受到了OO课程组的努力和付出,真的很开心能够见证和亲身体会到OO的巨大改变和进步,希望OO明年能更好。

转载于:https://www.cnblogs.com/corsical/p/11074818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值