- 浏览: 193700 次
- 性别:
- 来自: 深圳
最新评论
-
Ma__sm:
感谢
yyyy-MM-dd格式的Java日期校验代码 -
samjavaeye:
weirihai 写道访问都地址都打不开。
刚点了一遍,都能 ...
WebLogic在线文档中心 -
weirihai:
访问都地址都打不开。
WebLogic在线文档中心
文章列表
jetty-distribution-9.0.3.v20130506
四个实用的背景色和边框CSS实例
- 博客分类:
- CSS模板
效果图:
代码如下:
<p style="background-color:#FDD;border:1px solid #F00;color:#34404F;font-weight:bold;padding:6px;border-radius:5px;box-shadow:5px 5px 5px #888888;">
红色错误信息,圆角矩形带阴影。
</p>
<p style="background-color:#FFC;border:1px solid #FC0;color:#34404F;font-weight ...
背景色和边框CSS代码
- 博客分类:
- CSS模板
示例代码:
<p style="background: #ffff80;border-color:#FF8000;border-style: solid;border-width: 1px">
实线边框
</p>
<p style="background: #ffff80;border-color:#FF8000;border-style: dotted;border-width: 1px">
点状线边框
</p>
<p style="background: #f ...
Line Length
- 博客分类:
- sonar
【原因分析】
代码行长度过长,缺省限度为80字符,不区分中英文。
【影响分析】
尽量避免一行的长度超过80个字符,因为很多终端和工具不能很好处理。
【修改建议】
当一个表达式无法容纳在一行内时,可以依据如下一般规则断开:
在一个逗号后面断开
在一个操作符前面断开
宁可选择较高级别(higher-level)的断开,而非较低级别(lower-level)的断开
新的一行应该与上一行同一级别表达式的开头处对齐
如果以上规则导致你的代码混乱或者使你的代码都堆挤在右边,那就代之以缩进8个空格。
以下是断开方法调用的一些例子:
someMethod(longEx ...
【原因分析】
在同一个java文件,相同的字符串出现了多次。例如:
public String doAdd(HttpServletRequest request) {
String name = request.getParameter("name");
......
}
public String doUpdate(HttpServletRequest request) {
String newName = request.getParameter("name");
. ...
Require This
- 博客分类:
- sonar
【原因分析】
引用成员变量时未使用this关键字。
【影响分析】
容易造成误解,降低代码的可读性。
【修改建议】
需要修改,在引用成员变量时添加this关键字,例如:
private String hello = "Hello ";
public String sayHello(String name) {
System.out.println(this.hello + name);
}
Strict Duplicate Code
- 博客分类:
- sonar
【原因分析】
在同一个java文件,或不同的java文件中,出现了相同的代码行(缺省是超过12行)。
【影响分析】
隐性增加代码维护成本。不规范的编码、缺陷等被放大,大幅增加修改工作量。
【修改建议】
需要修改。
将重复的代码提取出来,封装成一个方法(同一java文件中重复),或作为一个公共的工具类(重复代码在多个java文件中出现)。
Undocumented Api
- 博客分类:
- sonar
【原因分析】
java文件中,公共类、接口、方法、成员变量或构造函数缺少注释。普通的Getter / Setter方法或使用@Override注解标记的方法不需要写注释。
【影响分析】
代码可读性差,代码维护成本高。
【修改建议】
需要修改。将java类中所有需要注释的地方添加上完整的注释。注释中可以使用html代码。
Javadoc Variable
- 博客分类:
- sonar
【原因分析】
java类中的成员变量没有写Javadoc注释。例如下面这个java类中的name变量:
public class Person {
private String name;
}
【影响分析】
不完整的注释将会给代码的维护带来更大的难度,使java代码的可读性下降。
【修改建议】
在日常开发的时候养成良好的编码习惯,注释尽可能写得详细和完整。例如:
public class Person {
/**
* 姓名
*/
private
Javadoc Style
- 博客分类:
- sonar
【原因分析】
Javadoc的注释格式不正确。可能的情况如下:
1、方法、参数或返回值的注释为空;
2、第一行注释没有以句号、问号或感叹号结束;
3、html标签不完整;
4、有不应该出现的html标签,可以出现的标签有:"a", "abbr", "acronym", "address", "area", "b", "bdo", "big", "blockquote", "br", &q ...
Javadoc Method
- 博客分类:
- sonar
【原因分析】
java文件中,类方法的注释不完整。例如没有写注释,或者只写了方法注释没有写参数的注释。
【影响分析】
代码可读性差,代码维护成本高。
【修改建议】
需要修改。将java类中所有方法(public和private的都要)添加上完整的注释。注释中可以使用html代码。
【原因分析】
原因分为三种:
UR 已定义的变量未初始化(赋值)就使用,例如:
String name;
System.out.println(name);
DU 变量定义以后仅在后面的某个分支中使用,例如:
String name = "sam";
if ("a".equals(argumentName)) {
System.out.println(na ...
【原因分析】
在条件判断语句中使用了硬编码的字面值,例如:
if (!"0".equals(retCode))
【影响分析】
这种硬编码的字面值不容易理解其含义,进而影响对逻辑表达式的理解。另外硬编码的字面值也容易在代码中重复出现,给代码的维护增加难度。
【修改建议】
建议修改。将硬编码的字面值定义成静态变量或私有的成员变量。例如:
private String CODE_ZERO = "0";
if (!this.CODE_ZERO.equals(retCode))
工具类
/**
* 构造人性化的运行耗时字符串。<br/>
* 最大时间单位为“天”,最小时间单位为“毫秒”。
*
* @param startAt
* 开始时间点
* @return 从startAt至今所消耗的时间,格式为“x天x小时x分钟x秒x毫秒”
*/
public static String getRunTimeCost(long startAt) {
long now = System.currentTimeMillis();
long cost = now - startAt;
...
用SAX(JDK自带API)解析XML文件
- 博客分类:
- Java
解析的工具类继承org.xml.sax.helpers.DefaultHandler,然后覆盖父类的几个方法即可。方法的详细解释可以参照JDK的API文档。
startDocument() 开始解析XML时被调用,一般可以用来做初始化操作。
startElement() 解析到某个元素(标签)的开头时(例如<name>)被调用,一般用来判断是否已开始解析某特定元素(标签)。
endElement() 解析完某个元素(标签)时(例如</name>)被调用,一般在此对某些逻辑标记做重置操作。
characters() 解析到某个文本元素(例如<name& ...