NCHU-软件学院-232019班-23201125-罗伊鑫-第三次Blog

news/2024/10/6 0:34:39/文章来源:https://www.cnblogs.com/lyx0421/p/18274024

前言

总结两次题目集的题目的知识点、题量、难度等情况

1.知识点

两次题目集都对于类的设计的提前规划好有着必要的需求,还有就是对于继承与多态的合理的使用。接着就是对于正则表达式的使用的检测,然后就是要有清晰的逻辑编程表达。

2.题量

总的来说,两次题目集的题量还是充足的,老师所给的时间也是合理的,非常适合检验学生的学习成果。

3.难度

这两次题目集的难度还是属于偏难的,尤其是最后一次,难度大大升高,不仅需要合理的类的设计,还有对于逻辑语言的表达的要求。然后,就是对于一些特殊用电设备的工作的判断,以及对于各种用电器的两个引脚的电压的计算。还有对于出现短路,断路的情况的特别考虑。最后一次,还会出现复杂的电路情况。

设计与分析

第一个题目集(nchu-software-oop-2024-上-7)

设计类图如下图所示:

1)总的来说类的设计还是较为合理的,但是对于继承与多态的掌握并不达标。
2)没有增加中介处理类,导致Main函数的代码量超标,甚至会出现代码的长度超过限制。

代码品质度量:

1)代码平均深度和最大深度都超过了范围,代码的if-else语句和for循环的语句使用过多,代码的质量下降。
2)代码的注释过多,存在不少注释画蛇添足,多此一举。

第二个题目集(nchu-software-oop-2024-上-8)

设计类图如下图所示:

1)类的设计还是没问题的,但是存在各个类的方法编写的不是特别好,无法解决题目的要求。
2)还有就是新增了一个二极管设备,我编写的类的方法也不是特别准确。
3)改进的是增加了一个中介处理类,减少了main函数代码冗长的问题,也减少了if-else 语句的实用和for循环语句的使用。

代码品质度量:

1)类的设计和数量是在良好范围类,最大深度和平均深度也在可以理解的范围中。
2)存在最大的复杂度过大的问题,某个地方的函数方法过于冗长,导致可读性降低,复杂度增加。
3)注释太多,超过范围。可能在许多不必要的地方作了注释,画蛇添足。

踩坑心得

1.关于题目集nchu-software-oop-2024-上-7:
1)没有考虑并联短路的情况

对于这种短路的情况进行特殊处理

2)对于新增的受控窗帘的状态的判断没有根据题目要求的来,导致出现错误。

根据题目的要求进行更正

3)对于互斥开关类的编写没有写好,导致一个测试点一直过不去。

第二个题目集(nchu-software-oop-2024-上-8)

1)对于互斥开关的三个引脚对应输出的电压书写错误,导致多个错误。

2)没有考虑用电设备反接的情况。

对于每个用电设备都新增属性,用于判断是否反接,并且对于输出方法进行相应的更改。

3)对于并联包含并联的情况的处理不达标。

4)对于新增的二极管设备的类的编写没有达到题目的要求。

改进建议

1.代码质量
可读性:确保你的代码易于阅读和理解。使用有意义的变量名、注释和适当的
缩进。
简洁性:避免冗余代码。使用循环、函数和库来简化代码。
错误处理:确保你的代码能够优雅地处理错误和异常情况。

2.算法优化
时间复杂度:分析自己的算法的时间复杂度,并尝试找到更高效的解决方案。
空间复杂度:同样,考虑自己的算法的空间需求,并尝试减少内存使用。
数据结构:选择最适合问题的数据结构。例如,如果你需要快速查找,考虑使
用哈希表;如果你需要保持元素的顺序,考虑使用链表或数组。

3.重构
如果自己的代码变得复杂且难以理解,考虑重构它。这通常涉及重新组织代
码、提取函数或类,以及简化逻辑。

4.代码复用
避免重复编写相同的代码。相反,提取可复用的部分到函数或类中,并在需要
时调用它们。
使用Java的库和框架来减少你需要编写的代码量。

5.持续学习
不断学习和探索新的Java特性和最佳实践。Java是一个不断发展的语言,有许
多新的功能和库可以帮助你更有效地编写代码。

最后,记得在完成每个题目后都要进行反思和总结。思考自己的解决方案的优点和缺点,并考虑如何改进它们。

总结

一、项目概述
1.题目集内容:这两次题目集的总体难度还是属于较难一些,主要是考察类的设计,正则表达式的掌握程度,还有个人的编程逻辑的能力。
2.完成时间:两个题目集都没有拿到满分,都不到标。
3.使用工具:IntelliJ IDEA
二、知识点回顾
1.基础语法:主要就是考察变量声明、条件语句、循环结构。
2.面向对象编程:考察类的设计,熟悉类与类之间的关系,对于继承和多态的合理掌握。
3.异常处理:代码出现问题时,不仅要检测语法是否有误,还要检测类之间的方法是否用的合理恰当。
4.集合框架:题目集nchu-software-oop-2024-上-7和题目集nchu-software-oop-2024-上-8都是使用ArraytList来实现功能。
三、编程技巧与经验:
1.代码风格:在编写代码时遵循的代码风格规范,如命名规范、缩进、注释等。
2.算法优化:尽量少使用for循环,if语句的套用,可以多编写一些函数方法,排序可以定义接口来更为有效的实现排序。
3.重构与重构:代码质量不满足要求时,要提前画好类图,并且为之后可能出现的迭代情况做好准备。
四、总结与展望
1.总结:写完这两次题目集,我个人觉得我的编程能力时不达标的,尤其最后一次的得分连及格都没有,但是也收获许多,关于类的设计更加熟练,更加清楚类与类之间的关系,个人的编程能力也在提高,也算得到了一定的成长。
2.展望:未来应该还是要更加刻苦,努力提高自己的编程能力,学习一些高级表达式,还有就是对于自己的代码规范要进行严格的更正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/732956.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

未来教育新篇章:可视化大屏引领知识革命

在这个信息爆炸的时代,教育资源的获取和呈现方式正在经历一场前所未有的变革。想象一下,当所有的教育资源都以一种直观、生动的方式展现在你眼前,那会是一种怎样的体验?今天,就让我们一起走进这个充满无限可能的“教育资源可视化大屏”世界。传统的教育模式往往受限于教材…

ETL服务器连接GaussDB(DWS)集群客户端配置

问题描述:给ETL的服务器上安装gsql的工具,用来连接GaussDB(DWS)集群,做数据抽取用 DWS:GaussDB(DWS) 8.2.1-ESL 1.获取软件包 登录FusionInsight Manager系统,在“集群”下拉列表中单击需要操作的集群名称。选择“更多 >->下载客户端->下载集群客户端,不选择保存…

Win 安装WSL+Ubuntu

简要:Win安装WSL(Windows Subsystem for Linux)主要是在win系统可以运行linux系统,下面详解介绍如何安装WSL和Ubuntu以及Ubuntu一些简单配置一、安装WSL 可以参考官网内容->WSL相关介绍 1、使用图像界面 打开控制面板(win+r输入control)->程序和功能->打开或关闭…

Altair SimSolid无网格快速结构仿真软件

Altair SimSolid软件作为一款快速无网格划分工具,凭借其独特的算法和计算能力,简化了工程师和分析师在进行复杂结构分析时的操作。它不仅提高了分析效率,降低了出错的可能性,还为用户提供了丰富的分析功能和直观易用的操作体验。在未来,随着Altair SimSolid的不断升级和优…

Hive 元数据

元数据,即解释数据的数据。在Hive架构中,数据库/表内实际数据存放在HDFS之类的分布式存储系统中,但这些数据并不带有数据库/表/字段之类的描述信息,这些信息均由单独的关系型数据库维护(一般用MySQL)。 表信息 TBLS 记录数据表的信息,可以作为左表,去关联表的其他信息。…

SOLIDWORKS PDM实施解决方案 慧德敏学

SOLIDWORKS产品数据管理 PDM 解决方案可帮助您控制设计数据,并且从本质上改进您的团队就产品开发进行管理和协作的方式。 使用 SOLIDWORKS PDM Professional,您的团队能够: 1、安全地存储和索引设计数据以实现快速检索; 2、打消关于版本控制和数据丢失的顾虑; 3、与多个地…

高一下海亮日记

这次要在海亮待一个月.所以这将是一篇很长的连载. 6.26 day0 大连国际机场,起飞.上飞机,直接睡着.比较害怕南方的高温(以及住宿等乱七八糟事). 到达.飞机降落的时候雨点已经打满了窗户.温度并没有很高,取而代之的则是一直下雨. 到达海亮,竟然没有一到地方就收手机,流量没了,买了…

Hive高级操作-查询操作

查询操作1.select语句 SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING having_condition] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT number];1…

Hive高级操作

查询操作1.select语句 SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING having_condition] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT number];1…