logo资料库

GridWorld阶段一自学报告.pdf

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
阶段一自学报告8.4号开始我们便开始了为期两周的实训,且本次实训的项目为GridWorld。在我们真正接触GridWorld之前,阶段一要求我们学习vi、Java、Ant、Junit和Sonar等,要我们能够在简短的时间内掌握Java语言的基本知识以及掌握上述工具对项目开发过程中代码的编辑测试等。关于Vi:大一实训的时候,我第一次接触vi,不过那时只知道如何用vi打开文件并将内容写入。后来在课内的学习过程中,有些作业需要在ubuntu系统中完成,于是自己便偶尔会利用vi或者vim来进行代码的编写。一般情况下,在做项目的时候我使用较多的仍然是Eclipse或者sublimeText等工具,而在ubuntu中进行各种工具的配置时,我便会利用vi来编辑,即方便又简单。在看了vi编辑器使用说明文档的时候,我进一步了解了vi的强大功能。编辑过程中的翻屏、查找字符、利用光标的位置来删除指定代码等功能确实是为我们编写代码提供了诸多便利。后来在用vi编写代码时又发现如果没有修改配置文件,则在用Tab或者进行代码查错时有点不方便,因为它没有显示行号且Tab默认为8.后来自己在系统根目录下利用vi.vimrc来为该文件加入setnu及settabstop=4两行代码,之后这两个问题也没再出现了。虽然vi的命令较多,但这些都足以说明vi确实是一款强大的编辑器。自己平时在编写代码时有时会用vim,有时也会用vi,于是今天就好奇查了下它们到底是什么关系。后来发现vim是用vi发展来的,它不仅兼容vi的所有指令,而且还加了一些新的特性在里边,比如多级撤销、易用性、语法加亮、可视化操作等,扩展性也变得更强了。关于Java:之前就一直听说那些专科院校的同学,他们一入学便直接学Java,且不会像我们那样学C、C++等语言,后来自己也好奇去了解了一下Java,不过我真正开始学习Java是在这
个暑假7月份开始的。在学Java的过程中,我是利用Eclipse工具来进行项目编写的。由于Java一开始的基本语法跟C++的很相似,于是看了一些稍微不同的之后便直接去看Java的组件部分。由于这部分的知识可以让我们在运行代码的过程中看到图形界面,我对此非常感兴趣,于是便趁着学习这部分内容时做了点小东西,包括简易计算器、简易打地鼠、简易配对游戏等,不过这些功能都比较简单。在写这些小东西的过程中,我印象比较深刻的问题算是下面两个:1、完成计算器小程序任务过程中,由于在构造函数一开始便设置SetVisible(true),使得程序刚开始运行时界面的组件都不显示;2、利用getText()判断组件的内容是否与某字符串相等时不能用“==”而应该选择equals()函数;此外,在Eclipse下进行开发时,也差点要被这个软件搞崩溃。编译运行java代码时提示各种无法加载主类等问题,重点是网上搜到的办法都解决不了我的问题,为此自己还上CSDN写了第一篇博客,以此来纪念这一深刻教训。最后我重装了最新的Eclipse。可是这个又导致新的问题,它需要1.7以上版本的JDK而我JDK是1.6的,后来又忍痛重装了1.7版本到JDK。后来看完了组件基本的东西之后,我就想了解下Java以后具体能做些什么,之后便发现了其中两个方向,一个是做安卓开发而另一个是做web开发。本来自己是想学习安卓开发方面的,不过由于自己没有安卓手机于是就放弃了,加上以前选过web2.0的课,了解了一些网页的知识,于是便去学习JavaWeb了。目前正在看那些基础知识,等这次实训完了有时间继续看看。Java对代码要求还是挺严格的,譬如类名一定要跟文件名一样等。关于Ant:使用Ant是为了实现项目的自动部署与构建。具体使用方法就是要事先创建build.xml
文件并置于代码根目录中,然后在终端进入到build.xml所在目录并运行ant。或者利用eclipse运行build.xml文件,运行时可选择RunasAnt_Build。使用Ant过程中,最重要的就是build.xml文件的编写了。由于我之前在看JavaWeb的时候,它有涉及到利用DOM操作来读写xml文件,所以build.xml里面的代码也算是比较简单。加上它本身便有实例的build.xml代码,所以只要按照文档要求即可。不过每次在利用Ant进行编译的时候,经常会提示一个警告warning:'includeantruntime'wasnotset,defaultingtobuild.sysclasspath=last;settofalseforrepeatablebuild。虽然这对运行结果没影响,但是自己还是去查了。最后发现只要在编译时的最后加上includeAntRuntime="flase"便可解决。关于Junit:元数据是描述数据的数据一样来修饰类名,作用是描述这个数据是做什么的。Junit是为了检测代码中所定义的各类函数是否有bug。在利用Junit进行测试时有如下说明:①、JUnit3要求单元测试类必须继承自TestCase且测试的方法必须以test开头②、JUnit4不要求必须继承自TestCase,而且测试方法不必以test开头,只要@Test元数据来描述即可;③、元数据:使用了@Before元数据时在每个测试执行之前都要一次。使用了@After元数据时在每个测试执行之后要一次。使用了@ignore元数据时,被标记的测试方法会被忽略。使用了@BeforeClass元数据时,在所有测试开始时运行一次使用了@AfterClass元数据时,在所有测试结束后运行一次限时测试:在@Test后面加(timeout=..)如果在规定的时间内没有完成测试就报错
我个人是在Eclipse下进行Junit测试的,首先是对需要测试的类右键,之后便可按提示自动创建Test类文件,最后完善所要检测的各函数便可查看结果。而在终端输入命令进行测试时,首先把要测试的类、进行测试的Test.java文件和junit的jar包放在同个文件夹,否则可能会因为找不到jar包而出现各类错误等。关于Sonar:Sonar是一款用于检测代码质量的工具,可通过代码的测试覆盖率、代码复杂度、重复性检查等各方面对代码进行一个量化。配置sonar时,我一开始将sonar-3.7.4.zip及sonar-runner-dist-2.4.zip两个文件解压后未显示,即在原目录下没找到。后来以为解压失败于是重新解压一次,这一次系统便询问是否进行替换,我这才知道解压后的文件是存在的,只是因为被隐藏栏没显示出来。后来直接用命令mv将其移到其他目录便看到了。而在用sonar-runner测试时,终端提示FAILURE,还说是因为没设置sonar.projectKey、sonar.projectName等导致的,经检查是因为自己忘记进入sonar-project.properties所在的目录了。利用Sonar进行代码质量测试时,我们首先需要创建一个sonar-project.properties配置文件并置于需检测的代码根目录中,进入SONAR_HOME运行./sonar.shstart开启Sonar服务,然后进入包含sonar-project.properties配置文件的目录中运行sonar-runner命令,最后上localhost:9000查看。Sonar检测时会逐条列出我们代码需要完善的地方,比如一个函数太多行、magicnumber、用空格代替Tab、catch中不能使用printStackTrace()函数而应该使用log等,虽然评分时很严格,但确实是让我们的代码质量有了很大提升。以上是我对这些东西的学习报告,感觉自己确实学到了不少有用的东西。希望自己能在接下来实训的日子中学到更多。
分享到:
收藏