2018/04/15实训笔记
程序员文章站
2022-03-16 21:37:05
...
- vi: 基本上 vi 可以分为三种状态,分别是命令行模式、插入模式和底行模式。开始进入 vi 之后,是处于命令行模式,我习惯使用的是插入模式,命令行模式切换到插入模式只需按一下字母i,其实按a和o也可以。在插入模式写完文件时,可以按「ESC」键,又可以再进入命令行模式,这是我一般是再按一下‘:’进入底行模式!这时,可以进行文件的保存工作,就是在‘:’后加上wq(保存并退出)!若是出现问题无法存盘退出的,可以改为在‘:’后加q!不存盘强制退出!还有一个比较有用的功能是ESC后,加上set nu,可以显示行数,这样可以快速找到出bug的地方(其实我喜欢用subl,subl不需要退出就能运行)。然后还有一个是在命令行模式下的删除,#dd可以删除一整行,至于教程中说的光标移动,我觉得可以先转到插入模式再移。
- java: java我觉得语法与C++类似,它的许多函数库需要import一个包,还有配置环境变量很重要。我在实训的时候是先在Windows下的eclipse写java程序,写好之后由邮件发到云桌面,但是在解压是里面的.classpath总是不出来,就算把代码放到Linux的eclipse也跑不了。所以java不像C++那样只用简单转移代码就能运行。这个问题的解决方案是:将代码写在一个用vi编辑的.java文档,再javac编译就可以运行了!
- Ant: Ant是一个 Apache基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。它可以ant加上target的name,就可以从target处运行程序。那如果想偷懒的话,我们可以加一个default,代码如下:
<?xml version="1.0"?>
<project name="propertyStudy" default="example"> <property name="name" value="amigo"/>
<property name="age" value="25"/>
<target name="example">
<echo message="name: ${name}, age: ${age}"/> </target>
</project>
这里的default可以只需要输入ant并回车,就可以从default处编译运行!顺便说一下我在实训中犯的错误:就是build.xml不一定就要命名为build,也可以为其他,还有它要和对应的.java文件放一起,不然target找不到文件。
4. Junit: Junit的思想就是调试之后可以确定用到的程序的一部分功能是正确的,与此同时应该确保每一个函数都是完全正确的。这样,我们在扩展时,若是程序出现了bug,我们可以缩小范围,简化工作!我们一开始还是老规矩:配置环境变量!在教程文档中的HelloWorld.java和HelloWorldTest.java两个文件,在HelloWorldTest.java的测试中,assertEquals(String,String)比较程序输出与预料输出,若是结果一致则为此类输出:
JUnit version 4.9
.
Time 0.007
OK(1 test)
若是不一致则是FAILED。
以上四处自学我还需要提及一点就是诸如。.xml文件,.java文件,环境变量配置等,在根据教程所给代码配置编写时,一定要注意不要抄错,不然会出现一大堆不可描述、莫名其妙的bug,就比如我在使用sonar时,运行老是出错,前前后后检查环境变量很久,也查了issue等(#13),其实最后发现的bug是 sonar-project.properties文档抄错,倒数第二句 xx.sources = .的sources的s没有写。因此细节是很重要的。
另外所多说几句,sonar-runner的时候,记得看major的提示。