软件构造课程 Blog-1

软件构造课程 Blog-1


写在最开始

 没有认为我也会有一天来更新自己的blog,那么既然机会,正好开始学习像Git记录代码的成长过程一样记录自己的一个变化,希望将来一天 Blog+Github=Offer B l o g + G i t h u b = O f f e r 。另外更好的跟别人分享自己的一些理解和交流一些经验。这第一次写Blog就来简单记录一下Lab1中遇到的一些问题和心路历程(刚刚开始学习Markdown,排版问题还得慢慢改善)。


实验本身的内容

主要分析一下HIT的第1个实验,分成四个部分。

1.Magic Square

 P1没有给出来源,视作来源不明,但是就其给出的代码更像是一种国内大学的风格,注释比较少,当然只是一种猜测。幻方的本身而言,从小就有过一些接触,是个挺有趣问题。难度不大,主要在于熟悉语法。

2.Turtle

 Turtle是MIT开发的一种画画用的“乌龟”,主要用在python,这次Java实验中使用应该是承接MIT中的SC课程的前置课程python的高级语言编程。这个实验任务应该是四个任务中最有趣的一个,难度也不大,希望以后在python里面可以再试试他的威力。
(实验的亮点在于, TurleSoup T u r l e S o u p 的翻译, hhhh有趣的灵魂)

3.Social Network

 P3是CMU给出的实验,感觉带着贵校特有的严谨。这个任务更像是数据结构课程“图”相关章节的实验Java重写,然后归于了一个新的背景。使用BFS的性能要比Dijstra更好,使用邻接表比使用邻接矩阵更好,也更能适应这个实验后续可能给出的样例。

4.Tweet Tweet

 P4是MIT的第2个实验任务,其实中间的细节是非常的细碎的,也是这次实验中写的最纠结的一个,而且很多细节感觉到现在也没有写好,因为这个实验中有很多的内容是由Coder本身来决定如何给出的,比如某一个user的影响力,可能有非常多的影响因素,某个人曾经在某次Tweet中“@-mentioned the user”,或者他们关注同一个话题“#something”等等,如果把这些可能的因素都考虑进去,感觉就能对某个时间点的所有发出的Tweet进行一个分析然后得到这个时间段的影响力用户等等。感觉这个实验确实是比较考验人的,还需要仔细打磨。

实验手册上的一句话

如果仔细阅读Lab0的实验手册可以看到,在最后有一个要求
Demands
这个要求感觉是开始上手时最需要时间的一个。由于对其中任意一种的build工具所需要用的语言都不熟悉,只好从零开始。更难受的一点是,国内的博主几乎没有使用脱离eclipse进行build的教程,国外的博主的文章又受限于google和英语阅读。国内绝大多数的博主如果讲XML写法,就用eclipse支持。少数博主就只讲XML不管使用,感觉对初学者并不友好。

再吃了种种灰之后,使用了maven、gradle甚至马上准备下一个Ant的时候(此时还没有到3月7日),突然感觉应该找一个突破再说,在询问过曾经上过rainy的软件工程课的学长之后,决定专心使用maven来build,然后传到Travis-CI上面进行持续集成。弄了很长时间终于把这个东西搞定了,下附Build成功的截图,立个flag:下次更新blog争取写清楚我从maven到Travis-CI的心路历程


软件构造课程 Blog-1_第1张图片

软件构造课程 Blog-1_第2张图片

你可能感兴趣的:(软件构造课程 Blog-1)