2018 OO第一次总结(作业1-3)】的更多相关文章

第一次OO博客作业 前言 面向对象课程已经经过了4周的时间.前三次作业全部是关于多项式求导的相关内容,内容由易到难,同时我也开始逐渐深入感受学习面向对象的各项特征,逐渐将自己的编程风格从C向真正的面向对象语言转换.同时我还接触了DEBUG和互测屋这样崭新的学习方式,在阅读别人代码的过程中不断增强自己的编程能力和学习能力. 本篇博客将结合3次作业内容,分别从题目的理解思路,代码风格和度量,BUG的产生以及修复和Applying Creational Pattern共4个方面分析我这四周以来的工作.…
第一次作业1.程序分析 (1)OO度量 (2)类图: (3)分析与评价: 这次作业由于作业整体设计难度不大,因此按照去年暑假上的OO先导课老师讲的设计方法很容易实现一个还不错的面向对象式程序,类与类之间的耦合度不是很高.但是即第一次简单的作业还是在设计上出现了漏洞被找到了bug,说明设计做的还是不够充分.类图分析:本次设计分为Poly类,InputDeal类,Main类,Item类,其中Item类实现了Comparator接口,Main类主要进行主函数运行.Item是一个项数和系数的偶对,并且通…
OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是ComputePoly,用于验证格式.提取以及传递多项式参数:还有一个是Poly类,用以多项式的存储与计算. 从下图可以看到,程序总共有94行,而main方法有47行,占了一半的行数,说明该程序的总体思路仍是停留在写C代码时的面向过程思想上,将大部分的处理操作在main中逐步实现,而不是分摊到类中,从而导致ma…
OO第一次博客作业 一.三次作业的bug反省 1.自己发现别人的问题 (1)输入处理的问题,比如第一次作业,主要就是处理输入的字符串,然后有同学的正则表达式有问题,则对于一些错误输入就不能正确判断. (2)在求导求完之后的合并项的时候出问题,在第二次作业中我发现了两个同学都是在和并项的时候出了问题,导致两个指数相同的项没有成功合并,然后出现了一些奇奇怪怪的错误. (3)输入没有处理好,具体到项中各个参数读入的时候会出错,有一个同学x前输入一个空格就没法正确输出. 2.作业中自己被别人发现的bug…
OO第一单元总结 面向对象设计与构造的第一单元,对“面向对象”的概念还根本不理解不熟悉,只觉得需要“分模块”,但不知道怎么分,分多少模块,怎么根据需要的模块的功能建立类.学习的进度又太慢,根本跟不上出作业的速度,导致三次作业的代码都写得很乱,很不面向对象. 1. 第一次作业 1.1 程序结构分析 第一次的作业比较简单,但由于刚刚接触面向对象,程序的结构仍然不太好.整个 project 只有两个类,主类和多项式处理类,且两个类的复杂度差别较大.由插件 MetricsReloaded 的分析可知,多…
oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高,还停留在面向过程式的设计. 第二次作业 类图分析 耦合度分析 可以发现在第二回作业中虽然我有意识的拆分类,但组织结构仍然不好,耦合度仍然很高. 第三次作业 类图分析 耦合度分析 可以分析发现,这次的作业有了一些oo的样子,对input, output, terms有了各自的package,并且耦合…
OO第二单元作业总结 在第二单元作业中,我们通过多线程的手段实现了电梯调度,前两次作业是单电梯调度,第三次作业是多电梯调度.这个单元中的性能分要求是完成所有请求的时间最短,因此在简单实现电梯调度的基础上,我还使用了一些调度算法来追求性能分,但是效果上不是很理想,只能勉强获得90分,在这里我想把我自己的做法写出了,供大家参考. 本次作业分为以下部分,三次作业实现介绍(包括调度方法), 总结作业.请读者各取所需. (注:本次电梯的全部调度算法仅针对作业题目,对实际情况并不相符) 三次作业实现 第一次…
OO第一单元作业总结 在第一单元作业中,我们只做了一件事情:求导,对多项式求导,对带三角函数的表达式求导,对有括号嵌套的表达式求导.作业难度依次递增,让我们熟悉面向对象编程方法,开始从面向过程向面向对象转变.本文中,我将介绍我个人每一次作业的做法,以及三次作业的分析,互测时策略. 第一次作业 第一次作业由于只对多项式进行求导,求导的函数只有幂函数,项与项之间仅有和关系,因此处理起来比较简单,输入可以使用正则表达式提取数据,存储可以使用HashMap,这样可以很方便的实现合并同类项,输出也只需要判…
OO~第二次作业总结 连续三周的电梯作业结束了,总的来说这三次作业做的还算平稳,既没有被刀,也没有刀中别人.那么接下来开始谈谈我对这三次作业的认识. 一.设计策略 我三次作业的设计思路基本上是相同的,电梯主要分成了三个线程,即Input(输入线程).Scheduler(调度器).Elevator(电梯).在这三个线程之间通过两个不同的托盘进行数据交互,即把输入线程输入的电梯指令放入调度器的ArrayList中,然后再用傻瓜调度算法/可稍带算法将相应指令传给电梯,最后电梯执行指令并输出相应结果.…
目录 OO--求导作业总结 程序结构的分析 第一次作业 第二次作业 第三次作业 对多项式合法性判断的讨论 程序bug的分析 未通过的互测bug bug的位置与程序结构的关系 继承和接口的使用 互测 手动构造样例 对拍器评测 两种评测方式的优缺点 Applying Creational Pattern 总结 OO--求导作业总结 程序结构的分析 第一次作业 1.设计思路 在第一次作业中,我设计了两个类:PolyDerivation(主类).Poly.main(String[])函数存在于PolyD…