首页 > 其他分享 >NCHU-oop-6总结

NCHU-oop-6总结

时间:2024-06-03 11:23:40浏览次数:24  
标签:总结 知识点 题目 NCHU 代码 改进 源码 oop 设计

写在前面:自己一些杂乱的想法
对于这两次写的关于电路设计的编程题,一开始我是抗拒的,这些源自于高中对物理的抗拒。
不过还好,在自己又一定代码实现的基础上,合理运用上老师关于设计类的建议,这些代码可以很容易被实现,剩下的就是敲下代码的时间。
怎么说呢?老师和同学们一直在强调说要做一名软件设计师,而非机械的敲代码工程师,但是首先,代码的类设计是老师首先给出的,先入为主。这样是很简单,这样也使丧失了同学们锻炼设计的机会。
However,也许我们的练习会一步步加大力度,也许我们该更加独立的去思考代码,也许我们不该只盯着课上仅仅几道的习题。
无论如何,认真对待,把握好写题的步骤,在写之前好好思考,不只是心上面,我更希望是写下来或者敲下来思路
(1)前言:总结两次题目集的7-1题目的知识点、题量、难度等情况
知识点吗?知识点也就只有那几个,在知识点上面并没有做迭代,多线程,网络编程,反射,IO流这些均没有涉及,一方面可能是这样子测试你是否运用了相应的测试点是很难的?
另一个方面呢,自己虽然学习了更多的知识点,,但是前面的知识点也没有很好的运用,一些匿名内部类,一些链式法则,一些很合适的Collection,我还没有将他们运用到炉火纯青,可能练习这些才是老师 们的目的吧。
题量?就一两三道题,保守估计,十个小时肯定够了吧,当然,前提是我们又按照一个科学的方法写题:首先得有一个合适的知识储备量,其次需要合理的设计,合理的类设计和代码实现设计,最后敲下来。
难度?还是保守估计,一个星期的时间肯定是把难度冲淡了,综合下来中等吧!既没有让我们一交就过,也没有卡很久,稍微测试测试常规的测试点就够找到自己程序的bug
(2)设计与分析:重点对题目的提交源码进行分析,可参考SourceMontor的生成报表内容以及PowerDesigner的相应类图,要有相应的解释和心得(做到有图有真相),本次Blog必须分析题目集1~3的最后一题
看了一眼自己的类图,发现还蛮震惊和感慨的,自己也能够写出如此大的东西,尤其是当所有的东西需要缩小到无法显示具体的内容的时候

是的,他大到需要被分别展示

首先想要展示一下整个的父类和他们的抽象类,运用一个父类能够很好的传入不同的类型到同一个参数中,同时呢也可以用instanceOf并强制转换来获得具体的对象

接下来是他们各自的实现类specific,运用抽象加实现是因为每一种设备,比如说空调,电风扇,灯,他们都有共同的属性,例如转速和亮度之类的,而device用来存物理电子元件层面的电压电流电阻
来到每一个实现类中,他们会包括final类型的属性,表示他们的最小电压,最小电流,电阻和他们的运作规律,这些就像一个电器出厂设置和他们的铭牌一样,每一种类是独一无二的,同时也是不可改变的

接下来就到了一个工具类,他有很多方法,都是静态的,可以拆分字符串,生成对象,给对象排序,更新电阻,通电,改变电流……
(3)采坑心得:对源码的提交过程中出现的问题及心得进行总结,务必做到详实,拿数据、源码及测试结果说话,切忌假大空
说到踩坑,我是有些东西需要说的,因为我没能一次性通过,改进了几个地方
其实不能说是踩坑,我认为叫做改进不足比较合适
很可惜,我没有保存踩坑源码的习惯,不过每一次的踩坑的经历都映在脑海
关于第一次电路大作业:踩坑点在分档调节器方面,其中的属性没有设置完好,导致换挡不正常
具体是:一共只有四档,三档有效,一档空挡,我采取i*0.3的策略,在最后测试分档调节器零挡一档二档三档都很正常,题目中的四档我理解成四档有效,导致四次+的时候,题目输出0,理论上是无法向上调节而继续维持三档的水平
关于第二次电路作业,我想起来一共踩了两个比较大的坑
第一个是超大坑,我没有在写之前做合理的设计,没有把整个流程厘清,导致最后的更新电阻十分麻烦,最后只能是以一种缝缝补补的状态去改善更新,其中一个缝缝补补的很重要的标志就是很多flag很多特判
第二个坑就是比较小啦,也可以算作一种解题策略吧?题目当中提到140v以上是危险电压,当时在这道题不做损坏处理,还是正常操作。我自以为是的为了增加程序的复用性,于是把这一特性写入了程序运行的判断中,导致在该题中无法做合适的实现。我的经验是什么呢?就是一道题有什么要求,就去满足她,同时,这道题新增的内容,当然会成为测试点的主要来源
(4)改进建议:对相应题目的编码改进给出自己的见解,做到可持续改进
说实话,我不愿意做主动的改进,除非程序很大程度上的淘汰,否则我会以前面的巨大心血为基础进行创作。
(5)总结:对本阶段三次题目集的综合性总结,学到了什么,哪些地方需要进一步学习及研究,对教师、课程、作业、实验、课上及课下组织方式等方面的改进建议及意见
对自己呢,就是希望能够在精进技术的同时(虽然没什么关系,但是是一个自我提醒吧),每次进行作业的时候想清楚再下手,不要被牵着鼻子走,以一个优秀的软件设计师的方向发展,嘻嘻
对题目呢?很简单,处于精进和挑战的心态,我希望能够难一些,否则没有挑战性,(也许我该去找合适的题目,而不是把题目变得合适,我会考虑的)
最近确实被实验困扰,我已经三次实验没交了,用的实验提交系统,咋用啊兄弟,这方案一点都不成熟,不好用!但是说回来,还是自己不够细心,没有关注实验,下一步该怎么办?让子弹飞一会
最后,希望你我都能更好,就这样吧!

标签:总结,知识点,题目,NCHU,代码,改进,源码,oop,设计
From: https://www.cnblogs.com/scan1110/p/18228238

相关文章

  • 2024年5月第四周LLM重要论文总结
    本文总结了2024年5月第四周发表的一些最重要的LLM论文。这些论文的主题包括模型优化和缩放到推理、基准测试和增强性能。LLM发展与基准1、TowardsModularLLMsbyBuildingandReusingaLibraryofLoRAs基本大型语言模型(LLM)的参数越来越对,这就要求我们研究出更高效的微......
  • PTA题目集4~6的总结
    1.前言知识总结:1.StringBuilder是一个可变的字符序列,与StringBuffer类似,但不保证同步(即线程不安全)。它被设计作为StringBuffer的一个简易替换,适用于单线程环境下字符串的频繁拼接和修改操作。在大多数情况下,由于少了同步的开销,StringBuilder在性能上优于StringBuffer。2.appe......
  • 持续总结中!2024年面试必问 20 道 Kafka面试题(三)
    上一篇地址:持续总结中!2024年面试必问20道Kafka面试题(二)-CSDN博客五、Kafka的ISR(In-SyncReplica)是什么?Kafka的ISR(In-SyncReplicas)是Kafka中用于维护数据一致性和高可用性的关键概念之一。ISR列表包含了一个领导者副本(Leader)和与之保持完全同步的追随者副本(Follower......
  • C 语言 switch 语句的要点与注意事项总结
    C语言的switch语句用于根据表达式的值进行多路分支选择。以下是switch语句的要点与注意事项:要点:基本语法:1switch(expression){2caseconstant1://代码块13break;4caseconstant2://代码块25break;6.........
  • 常用设计模式总结,附完整图解
    UML类图类图定义规则属性和方法前加上(+、-、#、留空)分别代表:公开(public)、私有(private)、保护(protected)、缺省(default)方法括号内为参数类型,冒号后为返回值类型下划线表示静态(static),斜体表示抽象(abstract) 类图关系表示法其中关联、聚合、组合,比较容易混淆,它们的区别:关......
  • PTA题目集4~6的总结性Blog
    一:前言:1.知识点总结:①:java面向对象类和对象的基本用法②:关联类,依赖类和组合等类间关系③:正则表达式的运用④:Comparator接口及比较器基本使用⑤:ArrayList的基本使用⑥:Collections.sort方法使用2.题量:较少,每次题目集不超过3题3.难度:由于题量少,所以每次题目集难度较大,......
  • Java题目集4~6的总结
    前言面向对象编程课程的“答题判题程序-4”作业是一个综合性的练习,旨在加深学生对面向对象编程思想的理解,并实际应用于解决复杂问题。本作业要求学生设计并实现一个答题程序,模拟小型测试的全过程,包括题目信息、试卷信息、答题信息、学生信息的输入,以及答题结果的判断和输出。家......
  • 20240602比赛总结
    T1等差子序列https://gxyzoj.com/d/hzoj/p/3638主要在枚举的方法上,要选小常数较小的方法30pts:枚举前两个数,然后算出第三个数的值,看位置是否满足条件100pts:上面的方法中,不是每组数都可以满足条件,可能会出现大于n或小于1的情况,但是却无法避免对它的的枚举,所以常数较大可以......
  • 南昌航空大学大一下学期java题目集4-6总结性Blog-苏礼顺23201608
    一、前言——总结三次题目集的知识点、题量、难度等情况 关于知识点  这次的三次题目集更加进一步体现了面向对象程序设计的思想方法。主要是之前的三次题目集就只是利用了面向对象三大基础特性中的封装特性,而这三次的题目集增加了继承与多态,这正是面向对象设计的精髓所......
  • 五类数据容器对比总结 知道喔!
    五类数据容器对比总结1.五类数据容器的区别·是否支持下标索引 ·支持:列表、元组、字符串---序列类型 ·不支持:集合、字典---非序列类型·是否支持重复元素  ·支持:列表、元组、字符串---序列类型 ·不支持:集合、字典---非序列类型·是否可以修改 ·支持:列表......