ZMY Blog

Everyone does magic and everyone has his own tricks.

软件构造Blog8

Lab4的实验总结

Blog-8 软件构造课程Lab4实验总结 一些总结 实验4的主要目的就是实现对于实验3的健壮性的优化和DEBUG四个小程序。首先说一下自己对于实验4的一些理解。 在实验3里我们写了一个有关于图的ADT,但是更多的考虑的是正确性,在实验4里需要增加考虑健壮性。举个例子来看,就是我们转变了身份角色,从一个”航天器”的程序员,变成一个应用程序的程序员,我们不能再对用户报以“你这都输不对,别...

软件构造Blog7

关于设计模式的一些想法

软件构造 Blog-7 关于设计模式的一些想法 写在最前面 在6.2 Design Patterns for Maintainability中提到了三个不同的构建模式,在第一次看的时候感觉不好理解。在今天上课的时候,听老师讲的时候举得“餐厅”的例子感觉很形象,所以想利用这个例子,简单的说一下并记录自己的这个想法,以便交流和以后复习使用。 Factory Method Pattern (工...

软件构造Blog6

关于hashCode的一些问题

软件构造 关于hashCode的一些问题 Blog-6 在课上的时候,我们使用了下面这个例子来说明hashCode如何来重写,但是对于为什么要使用17和31这两个Magic Number,背后的原因还不是很清楚,后来大概探索了一下,现在分享一些结果,主要是来自Effective Java和StackOverflow上的一些观点。 为什么要用17 If zero were use...

软件构造Blog5

有关Lab2的一些事

软件构造Blog5 有关Lab2的一些事 写在最前面 这次的Blog主要是来写Lab2的一些体会和经验之谈,最初写下这篇Blog的时候,是在刚刚验收过之后,对于自己过去两个星期完成的实验记录最清晰的时候。虽然这次实验总体来说难度依然不是很大,但是相比第一个而言,确实难度上升也比较明显。主要体现在大量的注释的书写相比以前的要求更高,也更加的麻烦。主要理解和书写的难度前两个问题而言,还不是很大...

软件构造Blog4

Mutable类与Set的一些事

软件构造 Blog-4 Mutable类与Set的一些事 今天上课的时候,Mr.Wang提到这么一点(意思类似但是具体的表述可能有所不同):有些mutable的对象,加入Set之后,如果改变其值,会出现找不到该值的情况。并且在下课后,用了一段代码更加仔细的表述了一下这个问题。(伪)代码如下: StringBuilder a = new StringBuilder("a"); ...

软件构造Blog3

关于JUnit中的assertThat的部分问题

关于JUnit中的assertThat的部分问题 写在最前面 如果大家需要使用下面几个函数之一 assertThat( mapObject, hasKey ( "key" ) ); assertThat( mapObject, hasEntry( "key", "value" ) ); assertThat( mapObject, hasValue ( "key" ) ); 请去下载ha...

软件构造Blog2

有关软件构造Maven和IDEA

软件构造 Maven IDEA Blog-2 关于这次blog 写这次blog的目的,主要是希望可以看到这个blog的童鞋们可以实现针对HIT的软件构造课程,实现第1次试验的脱离eclipse的build,主要使用的工具IDEA(可选),Travis-CI, Maven。 什么是Maven 在软件构造的2-2节中,我们这样“狭义”地定义一下Build,即将三个维度之一的从Build tim...

软件构造Blog1

有关软件构造Lab1

软件构造课程 Blog-1 写在最开始  没有认为我也会有一天来更新自己的blog,那么既然机会,正好开始学习像Git记录代码的成长过程一样记录自己的一个变化,希望将来一天能够做到 另外更好的跟别人分享自己的一些理解和交流一些经验。这第一次写Blog就来简单记录一下Lab1中遇到的一些问题和心路历程(刚刚开始学习Markdown,排版问题还得慢慢改善)。 实验本身的内容 主要分析...