写在前面

嗯,首先是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感想及前三次作业总结的更多相关文章

  1. OO前三次作业思考(第一次OO——Blog)

    OO前三次作业总结 基于度量分析程序结构 由于三次作业较多,决定分析内容.功能最为复杂的第三次作业. 上图为第三次作业的类图.我使用了一个抽象类Factor,写了五个因子继承Factor,然后又单独开 ...

  2. Blog总结(前三次作业总结)

    前三次作业总结 1.前言 (1)第一次题目集共有8道题目,难度较为简单,知识点为JAVA的一些编程基础知识点,如输入输出,选择,循环,一维数组等. (2)第二次题目集共有5道题目,难度较第一次题目集有 ...

  3. OO前三次作业总结

    一.第一次作业 1.程序设计分析 ![img](s1.ax1x.com/2018/04/02/CSgoSU.png) 图1 第一次作业类图 ![name](https://images2018.cnb ...

  4. OO前三次作业分析

    一,第一次作业分析 度量分析: 第一次的oo作业按照常理来说是不应该有这么多的圈复杂度,但是由于第一次写的时候,完全不了解java的相关知识,按照c语言的方式来写,完全的根据指导书的逻辑,先写好了正确 ...

  5. OO第四次作业-对前三次作业总结

    第一次作业由于直接没怎么学过java,全靠一星期速成,前几天看了java的语法,但是因为光看没有打代码,学习效果并不是特别好.由面向过程转向面向对象,不是特别清楚该怎么办,虽然写的是两个类,但实际上是 ...

  6. 201621123005《Java程序设计》第三周作业学习总结

    201621123005<Java程序设计>第三周 学习总结 标签(空格分隔): 未分类 1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化 ...

  7. oo前三次作业博客总结

    第一次作业 实现多项式的加减运算,主要问题是解决输入格式的判断问题. 输入实例: {(3,0), (2,2), (12,3)} + {(3,1), (-5,3)} – {(-199,2), (29,3 ...

  8. OO前三次作业简单总结

    随着几周的进行,OO课堂已经经历过三次课下作业.在这三次作业中,我被扣了一些分数,也发现了自己几次作业中一些存在的共同的问题. 首先以第三次作业为例分析,我程序的类图如下 一共九个类,其中Als_sc ...

  9. 201621123062《java程序设计》第三周作业总结

    1.本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用 将这些碎片化的概念.知识点组织起来.请使用工具画出本周学习到的知识点及知识点之间的联系.步骤如下: 1.1写出你认为本周学 ...

随机推荐

  1. CSS选择器之伪类选择器(伪元素)

    selection [CSS4]应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分).(IE8及以下不支持)(火狐-moz-selection) first-line 选择每个 < ...

  2. Batch Norm、Layer Norm、Weight Norm与SELU

    加速网络收敛——BN.LN.WN与selu 自Batch Norm出现之后,Layer Norm和Weight Norm作为Batch Norm的变体相继出现.最近又出来一个很”简单”的激活函数Sel ...

  3. Postman Postman接口测试工具使用简介

    Postman接口测试工具使用简介 by:授客 QQ:1033553122 本文主要是对Postman这个接口测试工具的使用做个简单的介绍,仅供参考. 插件安装 1)下载并安装chrome浏览器 2) ...

  4. 在虚拟机中安装ubuntu16.04后不能全屏显示

    一.在终端输入:xrandr 二.输入:xrandr -s 1920x1440 参考网站:https://blog.csdn.net/qq_33202928/article/details/75021 ...

  5. Ubuntu 16.04 c++ Google框架单元测试

    环境:Ubuntu 16.04 在github网站上下载gtest框架:终端输入git clone https://github.com/google/googletest.git 然后找到 gool ...

  6. Docker 监控之 SaaS 解决方案

    过去的一年中,关于 Docker 的话题从未断过,而如今,从尝试 Docker 到最终决定使用 Docker 的转化率依然在逐步升高,关于 Docker 的讨论更是有增无减.另一方面,大家的注意力也渐 ...

  7. Django之环境搭建

    安装django pip install django 安装完django之后就有了可用的管理工具django-admin.py,我们可以用它来创建我们的项目. django-admin的语法: dj ...

  8. Oracle常见等待事件

    1Buffer busy waits从本质上讲,这个等待事件的产生仅说明了一个会话在等待一个Buffer(数据块),但是导致这个现象的原因却有很多种.常见的两种是: ·         当一个会话视图 ...

  9. (转)Matlab增加块注释

    1)方法一选中你要加注释的内容,然后选择工具菜单“text|comment”就可以了,如果要把注释变为语句,同样选中要转变的语句,然后用鼠标选择“text|uncomment”就可以了.用键盘的快捷键 ...

  10. 第八章 计时器(DIGCLOCK)

    /*-------------------------------------- DIGCLOCK.C -- Digital Clock (c) Charles Petzold, 1998 ----- ...