当我满怀期待叩开OO的大门,却发现宝藏藏在层层阻难之后 第一次作业 1.度量分析 >关于第一次作业的metrics图分析没有出现标红的McCabe Cyclomatic Complexity或者Nested Block Depth,但笔者在第一次作业后也反思了自己的问题:在解析多项式将其中的数据取出时并没有设计一个很好的方法,而是繁琐的if-else判断和while语句,代码的嵌套现象还是比较严重的. 2.类图 >第一次作业刚刚学习JAVA,对于类与对象的概念还不是特别清晰.所以很容易看到笔者…
OO第一次博客作业 一.三次作业的bug反省 1.自己发现别人的问题 (1)输入处理的问题,比如第一次作业,主要就是处理输入的字符串,然后有同学的正则表达式有问题,则对于一些错误输入就不能正确判断. (2)在求导求完之后的合并项的时候出问题,在第二次作业中我发现了两个同学都是在和并项的时候出了问题,导致两个指数相同的项没有成功合并,然后出现了一些奇奇怪怪的错误. (3)输入没有处理好,具体到项中各个参数读入的时候会出错,有一个同学x前输入一个空格就没法正确输出. 2.作业中自己被别人发现的bug…
oo 第一次博客作业 早在大一就听说了oo的各种传奇故事,大二下学期终于也开始了我的oo之旅. 基于度量来分析自己的程序结构 第一次作业 类图分析 耦合度分析 可以看出在第一次作业中,我的耦合度非常高,还停留在面向过程式的设计. 第二次作业 类图分析 耦合度分析 可以发现在第二回作业中虽然我有意识的拆分类,但组织结构仍然不好,耦合度仍然很高. 第三次作业 类图分析 耦合度分析 可以分析发现,这次的作业有了一些oo的样子,对input, output, terms有了各自的package,并且耦合…
虽然早在开学之前就已耳闻过OO这门课的威力,也在寒假自学了一些java的语法,但在真正面对OO这样的工程训练时才发现寒假所学的那点语法简直不值一提,也深刻的感受到在这个过程中自己的提升确实很快,毕竟ddl是第一生产力. 第一次作业-一元多项式加减 1.程序结构分析 类图: 代码分析: 整体上来看,虽然本次作业用了一些面向对象的特性,比如多项式类和数对类,但从主类ComputePoly来看依然是个过程式的程序.最大的体现就是主类里有非常多的static全局变量和static函数,然后在main里依…
使用了masteruml插件来生成类图和metrics插件分析代码 第一次作业 1.UML类图 >在第一次作业中,使用了两个类,代码中有没有使用的变量与函数,为平衡两个类的内容,我将输出函数放在了多项式类中,但是仍然不够平衡. 2.量化分析: >处理字符串输入的过程,按照面向过程的思路来写,嵌套的判断条件过多,时间空间复杂度都比较高,写的并不简洁. 3.程序中的bug: 公测bug:压力测试,在数据量较大的情乱下,我对计算结果进行了取模运算,导致了公测出错.错误来源处于多项式计算的过程中,在最…
一.基于度量对程序结构的分析 1. 第一次作业 1.1 基于类的分析的度量 首先,基于类的属性个数,方法个数,每个方法的规模,每个方法的控制分支数目,类总代码规模等特征对本次作业的结构进行分析. 1.2 基于类间内聚和耦合的度量 我使用了MetricsReloaded插件来对代码的复杂度进行了分析. 还有对于方法的复杂度分析由于篇幅原因没有贴出来,主要的指标为ev,iv,v三个指标,分别代表基本复杂度.模块设计复杂度以及模块判定结构复杂度,ev大代表代码非结构化程度高,难以模块化和维护.iv大代…
OO第一单元总结 面向对象设计与构造的第一单元,对“面向对象”的概念还根本不理解不熟悉,只觉得需要“分模块”,但不知道怎么分,分多少模块,怎么根据需要的模块的功能建立类.学习的进度又太慢,根本跟不上出作业的速度,导致三次作业的代码都写得很乱,很不面向对象. 1. 第一次作业 1.1 程序结构分析 第一次的作业比较简单,但由于刚刚接触面向对象,程序的结构仍然不太好.整个 project 只有两个类,主类和多项式处理类,且两个类的复杂度差别较大.由插件 MetricsReloaded 的分析可知,多…
过去的三周里我们完成了表达式求导的程序设计与构造.表达式求导程序,大致思路是实现一个表达式类,支持表达式的输入.求导运算和输出功能.可能的话,还可以增加表达式的化简方法,从而得到更高质量的输出结果.总的来说,输入的处理是最为繁琐,也最容易出错的:而只要表达式类的结构设计合理,求导运算和输出都不会构成太多障碍. 一.程序结构分析 1.1第一次作业 第一次作业我在Main类中写了表达式输入的部分,因此Main类非常臃肿.尤其是对于x的指数部分的处理,判断分支写的很繁琐.这个在后面的两次作业中做了改进…
第一次作业 第一次进行面向对象的编程,不论是针对数据设计类还是对方法进行合适的归于不同类中,都不是很熟悉.所写出来的程序还是面向过程+有函数的类(虽然现在很大程度上感觉起来也是这样).索性作业难度并不算高,完成的也算马马虎虎.公测都通过了,但是互测的时候被发现了一处笔误,少写了一个0,导致6位的测试样例无法正常读入.并且由于我的检测输入的实现并不是通过正则表达式,而是通过简单粗暴的有限状态机,故而第一周并没有完整学习正则表达式.虽然有限状态机的设计并没有出错,但是没有尽早学习正则表达式也给我后面…
Q1:学习<C++语言程序设计>课程之前,你知道什么是编程吗?谈谈上这门课之前你对编程的理解,以及你对自己编程能力的评估. A1:开始课程之前,我认为编程是这样的:用计算机的语言写一份流程,然后交给计算机执行.懵懂的初学者是目前我在编程世界的ID. Q2:学习<C++语言程序设计>课程两周后,你已经初步认识到了什么是程序设计(编程),请你对第一次编程作业认真进行总结,写出自己的心得体会(请给出较详细的总结). A2:第一次编程作业遇到了一些小问题.除了关于语句本身的疑问,该不该在还…