第一次码java感想及前三次作业总结
写在前面
嗯,首先是java,这学期第一次oo作业布置下来的周末才开始看的,第一次作业因此写得有些手忙脚乱。不过大概看了一遍后发现比c好用,入门更简单吧,好多操作直接import一下就能用了,码代码的时候只需大概想想实现思路就好了,还是蛮好用的。
第一次作业
Metric的度量

程序的类图

分析
第一次写得一般般,然后我出的bug是把ERROR复制的时候复制成了ERRO,跪了一个公测点,(我再也不乱复制不检查了)。不过发现别人正则表达式写错了。这些都是些小的细节,注意一点就好。(一定好好检查)我自己写的时候面向对象的思维还不太成熟,只是像之前写函数一样分成了几个class,没完全把多项式封装好。然后通过第一次互测发现测试数据一般找不出什么bug,仔细阅读他人的代码才是最好的方法。。。
第二次作业
Metric的度量

程序类图

分析
第二次作业结合第三次作业来说,没有太好的考虑程序后续的可延展性?就是在做第三次作业的时候发现这次作业不太好进行调度策略的修改。第二次作业我采用的是离散的通过逻辑判断同质请求,因为写着比较快,并未采用时间的模拟。这次作业没出什么大的问题,但电梯类的作用没有体现出来。主要的操作还是在controler里实现的,可以将电梯的状态进行封装,但因为这次电梯的状态的重要性并不能体现出来,而且还是开始的设计不太好,所以做成了这个样子。然后就是为了避免crash和简单的判断error,学了学try catch,嗯,确实挺好用。
第三次作业
Metric的度量

程序类图

分析
这次作业确实吃了很多亏。首先是发现上一次作业的设计思路难以延展,就得重新进行设计。最后我选择了进行时间的模拟,这样的话,程序比较直观。但编写过程中因为对指导书的理解问题,进行了茫茫多的debu和修改才弄出来。稍微有点赶,所以忘了点东西,比如大数输出的处理。其实第二次作业我就做好了,后面写着写着就忘了,直接把时间强制转换成了int,没用printf结果就被找了个bug。还有就是因为和上次比较相似,readme就是大概改了一下,没认真写好。然后就被别人找了INVALID和SAME后输出的request的格式问题(只是把指令处理好了输出,readme没写清楚应该是什么格式。。。)嗯,以后一定认真对待的。还有就是以前一直认为readme是限制测试者的,其实通过别人给我找的一个没有有效输入的情况的bug。我认识到了readme应该写成给一个什么都不明白的人教他使用程序的这种感觉。这次测试起来也确实比较难想数据。除了测试树外,特殊的情况太多了,还是和别人讨论了下可能的情况才弄出的测试数据。经过量化分析,这次的调度类的嵌套太多,以后应该注意。
总结
在写代码前一定得好好的考虑设计的问题,第三次作业就是在实现的时候发现考虑掉了很多的问题,在已经完成的程序中嵌套添加了太多的内容,导致其变得复杂。然后每个项目最好还是有工程化的思维吧,就想第二次和第三次作业,虽然第二次写得很容易,但只能单一的解决特定的问题,到了第三次作业就特别不好修改代码,只能重写大量的方法,修改思路。一定不要立刻上手编码,先好好想想再说吧。。。
第一次码java感想及前三次作业总结的更多相关文章
- OO前三次作业思考(第一次OO——Blog)
OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...
- Blog总结(前三次作业总结)
前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...
- OO前三次作业总结
一.第一次作业 1.程序设计分析  图1 第一次作业类图 : 未分类 1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化 ...
- oo前三次作业博客总结
第一次作业 实现多项式的加减运算,主要问题是解决输入格式的判断问题. 输入实例: {(3,0), (2,2), (12,3)} + {(3,1), (-5,3)} – {(-199,2), (29,3 ...
- OO前三次作业简单总结
随着几周的进行,OO课堂已经经历过三次课下作业.在这三次作业中,我被扣了一些分数,也发现了自己几次作业中一些存在的共同的问题. 首先以第三次作业为例分析,我程序的类图如下 一共九个类,其中Als_sc ...
- 201621123062《java程序设计》第三周作业总结
1.本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用 将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系.步骤如下: 1.1写出你认为本周学 ...
随机推荐
- TextBlock 重写,当文本过长时,自动截断文本并出现Tooltip
如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst ...
- Android 后台线程,timertask实现定期更新时间
简述:这是一类定时功能的原型,用来在后台线程中运行一些定时的服务,比如定时修改时间 知识点: 1. Android多线程的消息通信(handler) 2. Java中时间的获取,以及String的格式 ...
- 网络 私有IP和子网掩码设置
私有IP不需要花钱 节约使用公网IP有两个方法,一个方法是动态IP(关机回收IP),一个方法是私有IP,尤其是私有IP作用巨大. 私有IP不具有唯一性,不能直接访问公网.比如,我以私有IP192.16 ...
- Oracle EBS AR 更新客户账户层
declare x_return_status ); x_msg_count NUMBER; x_msg_data ); x_profile_id NUMBER; l_location_id NUMB ...
- spider-抓取网页内容(Beautiful soup)
http://jingyan.baidu.com/article/afd8f4de6197c834e386e96b.html http://cuiqingcai.com/1319.html Windo ...
- dev richEditControl控件 设置文字 字体 大小
Document doc = NoticeContentRichEditControl.Document; doc.BeginUpdate(); doc.Text = "需要设置格式的文字& ...
- 字节(byte)与位(bit)基础回顾
预估方式:一个uid,String类型,最长约50字节,即50Byte,一天100亿PV,则100亿*50Byte,约500G容量存ES中或Hbase中,无法存日志文件中,一个docker磁盘才50G ...
- REDIS线上问题
这周终于解决了Redis访问经常超时的问题,终于可以踏实睡觉了.从上周就开始纠结在这个问题上,可以用寝食难安来形容,感觉这个问题就像个定时炸弹一样,虽然根据手搜的访问量,极少的Timeout Erro ...
- MySQL安装俩个不同版本服务出现的问题(1053)
在使用命令mysqld --install servicename --defaults-file='file_name'创建mysql服务时,系统 已提示创建服务成功,但是net start命令提示 ...
- 1051. [HAOI2006]受欢迎的牛【强连通分量】
Description 每一头牛的愿望就是变成一头最受欢迎的牛.现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎. 这 种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也 ...