写在前面

嗯,首先是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. 180217_JAVA学习_TreeSet中存放含多个String的类并设置排序规则

    有Person类如下: class Person { String name; int age; String address; } 有main如下: import java.util.TreeSet ...

  2. maven 插件jetty/tomcat启动 web 应用

    tomcat <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomca ...

  3. Pig group用法举例

        group语句可以把具有相同键值的数据聚合在一起,与SQL中的group操作有着本质的区别,在SQL中group by字句创建的组必须直接注入一个或多个聚合函数.在Pig Latin中grou ...

  4. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  5. 32位Windows7 利用多余的不能识别的电脑内存 RAMDISK5.5教程

    32位Windows7 利用多余的不能识别的电脑内存 RAMDISK5.5教程 环境:Windows7 32位 Ultimate 内存8GB 只能识别2.95GB内存 ramdisk5.5只适用于Wi ...

  6. 15. DML, DDL, LOGON 触发器

    触发器可以理解为由特定事件触发的存储过程, 和存储过程.函数一样,触发器也支持CLR,目前SQL Server共支持以下几种触发器: 1. DML触发器, 表/视图级有效,可由DML语句 (INSER ...

  7. POST请求上传多张图片并携带参数

    POST请求上传多张图片并携带参数 在iOS中,用POST请求携带参数上传图片是非常恶心的事情,HTTPBody部分完全需要我们自己来配置,这个HTTPBody分为3个部分,头部分可以携带参数,中间部 ...

  8. 工作总结 [all]

    2. 工作总结 3. 面试经验 4. 其他

  9. Ubuntu Linux 14.04 LTS 上安装php7+mysql+nginx

    输入 $ sudo apt-get install -y language-pack-en-base$ sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:o ...

  10. SMTP服务器设置

    Web.config中使用如下配置  <system.net>    <mailSettings>        <smtp from="info@site.c ...