软件开发流程:

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面试第十八天的更多相关文章

  1. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  2. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  3. java面试宝典(蓝桥学院)

    Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...

  4. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...

  5. Java面试必备知识

    JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...

  6. java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  7. 近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  8. java 面试

        115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...

  9. 【Java面试】基础知识篇

    [Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...

随机推荐

  1. 使用清华大学开源软件镜像AOSP的“每月更新初始化包”更新指定版本的Android源码

    参照官方教程:Tsinghua Open Source Mirror 1. 下载了repo工具 mkdir  ~/bin PATH = ~/bin:$PATH curl  https://storag ...

  2. Java中常见的IO流及其使用

    Java中IO流分成两大类,一种是输入流.全部的输入流都直接或间接继承自InputStream抽象类,输入流作为数据的来源.我们能够通过输入流的read方法读取字节数据.还有一种是输出流,全部的输出流 ...

  3. max_binlog_cache_size

    http://blog.mimvp.com/2017/07/mysql-yi-ge-can-shu-yin-qi-de-dang-ji-xue-an/ max_binlog_cache_size 表示 ...

  4. pig—WordCount analysis

    grunt> cat /opt/dataset/input.txt keyword1 keyword2 keyword2 keyword4 keyword3 keyword1 keyword4 ...

  5. Spring4.0+quartz2.2.1+memcahce多台nginx实现均衡

    1.每台nginx都有公网地址,在域名处设置同个域名多个指向,最简单实现轮洵.但故障切负会慢一点.2.一台公网nginx通过upstream功能,轮洵.ip.url多方式分发到内网多台nginx.但公 ...

  6. mysql 报错ERROR 1064 (42000),原因使用了mysql保留字 (right syntax to use near 'groups)

    msql 8.0 执行语句: SELECT *  FROM groups; 会报如题的错误, 需加反引号进行修改: SELECT *  FROM `groups`; //////////分割线//// ...

  7. Redis源代码分析(十二)--- redis-check-dump本地数据库检測

    这个文件我在今天分析学习的时候,一直有种似懂非懂的感觉,代码量700+的代码,最后开放给系统的就是一个process()方法.这里说的说的数据库检測,是针对key的检測,会用到,以下提到的结构体: / ...

  8. ubuntu 键盘布局修改

    键盘打不出 | 符号 sudo dpkg-reconfigure keyboard-configuration 改为标准的罗技键盘

  9. otl使用存储过程或是LEFT JOIN时提示输出类型未知的问题

    otl_stream的构造函数或成员函数open的第四个参数const int implicit_select 默认是otl_explicit_select.当使用存储过程时,必须指定为otl_imp ...

  10. SSM(SpringMVC+Spring+Mybatis)框架程序on IDEA

    有了之前文章搭建的SSH框架之后,现在搭建基于Mybatis的框架.主要基于如下这篇文章: http://blog.csdn.net/gallenzhang/article/details/51932 ...