java面试第十八天
软件开发流程:
1、可行性分析
2、需求分析->开发测试
3、概要设计->分隔模块,定义框架等
4、详细设计->类设计、接口设计
5、编码
6、测试
7、部署
8、维护
单元测试:
要求:
要有边界值的分析,主要针对分支语句的临界点
语句覆盖,保证写的任何语句都要运行到
判定覆盖,所有判断的地方都要覆盖掉
条件覆盖,保证所有条件都要覆盖掉
路径覆盖,所有分支都要测试到
步骤:
1、针对每个类写一个TestCase,在setUp方法中初始化要测试类,在tearDown方法中将测试类置为null
2、逐一编写以test开头的方法
3、新建一个套件类,再把所有的TestCase类加入套件类
Ant:用于对项目的整体构建、修改及部署等操作
Ant的下载:
去阿帕奇官方网站下载
在eclipse的eclipse3.2\plugins\org.apache.ant_1.6.5
建立ant的步骤:
1、写类:src和build.xml必须自己写,src中的源程序要按照包结构去构建好
projectName
classes
src
build.xml
2、写build.xml
<?xml version="1.0" encoding="GB2312" ?>
<!-- 一个项目,可包含很多任务组(target) -->
<project default="main" basedir=".">
<!--属性部分,可以写类似全局变量-->
<property name="src" value="src\test" />
<!-- 项目中的一个任务组,可包含很多任务(task:javac,java...) -->
<target name="main" description="begin build">
<!--创建目录-->
<mkdir dir="classes" />
<!--编译-->
<javac srcdir="${src};src" destdir=".\classes"/>
<!--运行-->
<java classname="test.Test">
<classpath>
<pathelement path=".\classes"/>
</classpath>
</java>
</target>
<!--清除所有class-->
<target name="clean" description="begin clean">
<delete dir="classes" />
</target>
<!--重新建立项目-->
<target name="all" depends="clean,main" description="begin all">
</target>
</project>
3、ant配置环境变量
Path->org.apache.ant_1.6.5\bin
ClassPath->org.apache.ant_1.6.5\lib
4、运行
创建可运行的jar文件:
1、先建起一个空文件夹
2、把所有的源文件拷贝到该文件夹下
3、javac -d . * 编译此文件夹下各源文件
4、删除源文件
5、jar -cvf test.jar * 完成第一次打包
6、jar -xvf test.jar 解压
7、删除test.jar
8、改META_INF中的文件,加上Main-Class: MenuFrame (注意中间有空格),保存
9、jar -cvfM test.jar *
10、java -jar test.jar 可以运行
重构:
在不改变软件任何功能的前提下对代码进行修改,调整其结构,提高其可读性,降低其修改的成本。
重构的基本思想就是集中精力使设计简化,并且在新的需求出现时提供一个持续发展(而非扩展)的环境。
重构是一项功能强大的技术,但需以微小的步伐修改程序才行。
重构的优点:
重构可以改进软件的设计;
重构可以使你的代码看起来更易理解;
重构可以找出潜伏的Bug;
重构可以帮助你提高编程的速度――在一次次的迭代过程中阻止系统腐败变质,减少在调试中所花的时间;
重构可以使我们更快速的开发软件,甚至还可以提高我们的设计质量。
利用eclipse重构代码:
代码封装
方法移位(父类<->子类)
抽取方法
提炼接口
java面试第十八天的更多相关文章
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
随机推荐
- Dropbox Folder Sync – 让 Dropbox 同步任意文件夹
「DropBox」可以说是目前世界上最流行的线上同步工具,非常简单的同步方式, 流畅的档桉上传下载速度,让你可以轻易的在两台.三台电脑之间同步重要资料. 而你要做的步骤只是在每一台电脑安装DropBo ...
- POJ 1458 Common Subsequence(最长公共子序列LCS)
POJ1458 Common Subsequence(最长公共子序列LCS) http://poj.org/problem?id=1458 题意: 给你两个字符串, 要你求出两个字符串的最长公共子序列 ...
- MFC绘制直方图和饼图
转载原文: Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNorma ...
- java跨域解决
import java.util.ArrayList; import java.util.List; import org.springframework.context.annotation.Bea ...
- wireshark提取gzip格式的html
原文地址:http://blog.csdn.net/vah101/article/details/44102501 首先使用wireshark启动抓包,然后以百度为例,访问百度的首页,之后停止抓包,w ...
- 使用 UITabBar 时,子画面虽然已经占满全屏幕,但在其底部,仍然有点击事件(可以响应UITabBar)
使用 UITabBar 时,我们长长会遇到这样的问题. 问题:一个使用(或继承)了UITabBar的Aview,为其添加一个子画面Bview时,虽然 Bview的尺寸已经占满了整个手机屏幕,但是,Bv ...
- python文本 拼接或合并字符串
python文本 拼接.合并字符串 场景: 拼接.合并字符串 在这个场景中,我们首先想到的当然是使用+或者+=将两个字符串连接起来 >>> a='a' >>> ...
- java静态代码分析工具infer
infer是一个静态代码分析工具,探测bugs. 主要支持Java.C/C++ 安装:brew install infer 在线展示:https://codeboard.io/projects/115 ...
- 【UOJ Round #8】
A 一道不错的题,虽然大家都觉得是水题,然而蒟蒻我想出来的好慢……Orz alpq 发现其实就是一个网格图,每一个大块都是同一颜色……横纵坐标互不干扰…… //UOJ Round #8 A #incl ...
- 解决:HTTP 错误 404.2 - Not Found. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面
错误重现: 在发布网站的过程中,虽然不是第一次发布了,但是还是遇到了很多的问题.为了以后可以轻松解决此类问题还是积累下来比较好. 问题:HTTP 错误 404.2 - Not Found. 由于 We ...