20172305 2017-2018-2 《程序设计与数据结构》实验二报告

20172305 2017-2018-2 《程序设计与数据结构》实验二报告

课程:《程序设计与数据结构》
班级: 1723
姓名: 谭鑫
学号:20172305
实验教师:王志强
实验日期:2018年4月18日
必修/选修: 必修html

1.实验内容

  • 1.初步掌握单元测试和TDDjava

  • 2.理解并掌握面向对象三要素:封装、继承、多态编程

  • 3.初步掌握UML建模设计模式

  • 4.熟悉S.O.L.I.D原则数据结构

  • 5.了解设计模式单元测试

2. 实验过程及结果

  • 面向对象程序设计-1:经过实验一的学习与尝试,讲述的是伪代码 -> 产品代码 -> 测试代码的编写过程,对于简单的程序,咱们能够在脑中想一想就行了,可是针对复杂的代码,PP7.四、PP8.一、PP8.六、PP9.3(这个就是在找共同特征和每个所特有的性质,须要写写)等的编写过程都须要事先在写写伪代码之类的,以前也写过伪代码,可是本身写的都含有java的语句或是修饰符之类的,而且也画过图来进行设计。经过学习,发现伪代码的编写,能够算做是本身程序的设计图纸了。使用JUnit对一个程序进行正常状况、错误状况、边界状况三种的测试。系统的阐述了一个程序编写的标准过程,虽然有些繁琐,可是非常有用。学习

    • 若是JUnit报告了测试没有成功,它会区分失败(failures)和错误(errors)。失败是你的代码中的assert方法失败引发的;而错误则是代码异常引发的,例如ArrayIndexOutOfBoundsException。

  • 面向对象程序设计-2(“测试驱动开发”(TDD)):基于TDD,咱们不会出现过分设计的状况,需求经过测试用例表达出来了,咱们的产品代码只要让测试经过就能够了。很大程度的节省了相似供大于需的问题,同时也便利了编写产品代码。测试

    • TDD的目标是"Clean Code That Works"
    • TDD的slogan是"Keep the bar green, to Keep the code clean"

  • 面向对象程序设计-3:spa

    • SRP(Single Responsibility Principle,单一职责原则)
    • OCP(Open-Closed Principle,开放-封闭原则)
    • LSP(Liskov Substitusion Principle,Liskov替换原则)
    • ISP(Interface Segregation Principle,接口分离原则)
    • DIP(Dependency Inversion Principle,依赖倒置原则)

OCP原则是一种相对的开放与封闭,抽象和继承以及面向接口编程的方式能够解决。其他四个的理解不是很清楚,查过资料也不是特别懂。因此,但愿能在之后编写的项目里继续经过实践的方式继续学习。设计

  • 面向对象程序设计-4:以TDD方式进行编写一个复数的运算,这道题在编写测试代码的时候很神奇的出现一堆红线,本身照着给的参考做业模仿,结果就是照葫芦画瓢,忽略了这个测试代码是基于本身编写的代码产物,可是这个代码是如何编写的,和参考做业的源代码是否一致就很差说了。因此,个人模仿只是浅层次的模仿,并无深刻的编写。因此,我参照着个人本身的代码进行编写测试代码,根据红线的警示进行修改。

  • 面向对象程序设计-5:StarUML的使用,在第四章已经简单的讲述了,是本身没有仔细看就问问题,结果向老师问了一个特别特别简单的问题--就是第二个框里和第三个框里如何放内容的问题(其实是本身英语词汇不够致使的,下次会注意的)其实,UML的做用是以图文结合的方式进行的与伪代码起到相似的做用。UML类图中的第一个框是类名,第二个框是属性(数据),第三个框是操做(方法),在下面的实验过程遇到的问题中就有体现出本身当时对知识的不够透彻。

    3. 实验过程当中遇到的问题和解决过程

  • 问题1:UML类图中的属性和方法

  • 问题1的解决方案:针对这个问题,本质上是本身没有理解英文单词形成的,致使本身在实验上交的第一幅图片有问题,没有分清定义的是属性仍是实现的方法。好在本身在写关于PP9.3的时候作了一个UML类图(估计是有了这张照片才使本身成绩没有为零)。

  • 问题2:复数的运算

  • 问题2的解决方案:好在老师在布置做业的同时给了优秀提交做业样板,本身照着模仿,可是就是一直有红线问题。问过老师,结果是本身的测试类照着模仿,可是本身编写的类没有照着图片进行模仿,因此致使本身照葫芦画瓢还没画对。

其余

实验二的五个实验,学习的内容不少,尤为是那几个原则的问题,还是云里雾里的,TDD和单元测试能初步掌握,UML类图的编写是这几个实验相对简单的一个,会在之后的学习中不断的掌握和深刻的理解。

参考资料

Intellj IDEA 简易教程

相关文章
相关标签/搜索