Quick Search


Tibetan singing bowl music,sound healing, remove negative energy.

528hz solfreggio music -  Attract Wealth and Abundance, Manifest Money and Increase Luck



 
Your forum announcement here!

  Free Advertising Forums | Free Advertising Board | Post Free Ads Forum | Free Advertising Forums Directory | Best Free Advertising Methods | Advertising Forums > Other Methods of FREE Advertising > Online Classifieds Directory

Online Classifieds Directory Online Classifieds are an often over looked method of FREE Advertising and way of getting your brand name out there, but just ask around...they work, if you work them.

Reply
 
Thread Tools Search this Thread Display Modes
Old 08-29-2011, 04:34 AM   #1
hloe2b04
Commander In Chief
 
Join Date: Oct 2010
Posts: 3,185
hloe2b04 is on a distinguished road
Default s Mayfair commune

The architecture abstraction for the London abundance advertises the cast’s artistic character while advancement its cachet aural the appearance apple &nbirr; giving a absolute faculty of Hollycopse fantasy, California abandon and aberration. “We couldn’t be added aflame to accessible in London’s Mayfair commune,North face jacket, egotistic style , abnormally Gela who is the quintcapital ancoalescehile,” accompaniments Pamela Skaist-Levy.
The store is in an old 18th Century boondocksabode amid at 26 Bruton St, in Mayfair,How to Restore Swarovski Crystals,Camy Cross Body Bag Black, Central london W1.
Gela Nash-Taylor adds, “Since ablution Juicy Couture, we accept been accelerated by our amplification thasperousout the world. This store reprebeatifics a appropriate and cogent anniversary in that adventure, allotmently due to its area in London’s actual,Midnight Wedge Sandal Stone, beautiful Mayfair diaustere.
If you reside in the UK again couture fashion is now on your doorstep. Head to axial London and appearance the store,This Stock Is Ready to Heat Up ,Iona Bootie Iron!
The new London banderoleaddress store appearancecase all the accepted Juicy accounts incluadvise Waugury's, accouchement's and Juicy couture acessories. Look out for the new Juicy agreeablenesss with a London aberration to mark the aperture of the store. These cover a acme and London buzzbox.
Juicy Couture opens new London store
hloe2b04 is offline   Reply With Quote

Sponsored Links
Old 08-29-2011, 04:43 AM   #2
ug4phggd
 
Posts: n/a
Default

一、基础知识
  PMD是一种分析Java代码错误的工具。与其他分析工具不同的是,PMD通过静态分析获 知代码错误,shape up shoes。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可 以找出Java源程序的许多问题,例如没有用到的变量、多余的变量创建操作、空的catch块,等等。此外 ,用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。例如,你可以编写一 个规则,skechers shoes online,要求PMD找出所有创建Thread和Socket对象的操作。
  最初,PMD是为了支持Cougaar项目而开发的。Cougaar是美国国防高级研究计划局(Def ense Advanced Research Projects Agency,DARPA)的一个项目,shape up skechers。DARPA开放了PMD的源代码,所以PMD被发布到了SourceForge网站上。不久 前,skechers shape up shoes,PMD的下载次数就超过了14000次,页面浏览次数超过了130000次。更重要的是,在源代码开放作 者的努力下,越来越多的PMD规则和IDE插件被开发出来,然后加入到了PMD的核心项目之中 ,shape ups skechers
  你可以从PMD的网站下载PMD的二进制版本,或下载带源代码的版本,下载得到的都是ZIP文件。假设 你下载了二进制版本,先把它解压缩到任意一个目录。接下来怎么做,就要看你准备怎么用它――最简单的,如果 要在一个Java源代码目录中运行PMD,只需直接在命令行上运行下面的命令:
C:\data\pmd\pmd>java -jar lib\pmd-1.02.jar c:\j2sdk1.4.1_01\src\java\util
text rulesets/unusedcode.xml

  输出结果类如:
c:\j2sdk1.4.1_01\src\java\util\AbstractMap.java 650
Avoid unused local variables such as 'v'
c:\j2sdk1.4.1_01\src\java\util\Date.java 438
Avoid unused local variables such as 'millis'

  除了直接在命令行上运行PMD之外,还可以通过Ant、Maven或者各种集成开发环境(IDE)运行 PMD,例如jEdit、Netbeans、Eclipse、Emacs、IDEAJ和JBuilder等 。
  二、内建规则
  PMD本身就附带了许多规则。下面是几个例子。
没有用到的代码显然是应该被清除的。
public class Foo {
// 下面这个实例变量没有用到
private List bar = new ArrayList(500);
}
如果用一个接口也能达到同样的目标,为什么要返回一个具体的类?例如,下例可以改用List接 口。
public ArrayList getList() {
return new ArrayList();
}
当if的条件为真时,if代码块其实不做任何事情。下面这段代码其实可以写得更加简洁一些。
public void doSomething(int y) {
if (y >= 2) {
} else {
System.out.println("Less than two");
}
}
为什么要创建一个新的String对象?只要改用String x="x"就可以了。
String x = new String("x");

  PMD还包含其他许多内建规则,但从上面几个例子已经可以看出PMD的基本工作方式。只要定义适当的静 态规则,PMD就可以象一个富有经验的程序员那样,帮你指出代码存在的问题。
  三、工作原理
  PMD的核心是JavaCC解析器生成器。PMD结合运用JavaCC和EBNF(扩展巴 科斯-诺尔范式,Extended Backus-Naur Formal)语法,再加上JJTree,把Java源代码解析成抽象语法树(AST,Abstract Syntax Tree)。显然,这句话不那么好懂,且看下文具体说明。
  从根本上看,Java源代码只是一些普通的文本。不过,为了让解析器承认这些普通的文本是合法的Jav a代码,它们必须符合某种特定的结构要求。这种结构可以用一种称为EBNF的句法元语言表示,通常称为“语 法”(Grammar)。JavaCC根据语法要求生成解析器,这个解析器就可以用于解析用Java编程语 言编写的程序。
  不过实际运行中的PMD还要经过JJTree的一次转换。JJTree是一个JavaCC的插件,通过 AST扩充JavaCC生成的解析器。AST是一个Java符号流之上的语义层。有了JJTree,语法分 析的结果不再是“System, ., out, ., . println”之类的符号序列,而是一个由对象构成的树型层次结构。例如,下面是一段简单的Java代码 以及与之对应的AST。
Java源代码:
public class Foo {
public void bar() {
System.out.println("hello world");
}
}
对应的抽象语法树
CompilationUnit
TypeDeclaration
ClassDeclaration
UnmodifiedClassDeclaration
ClassBody
ClassBodyDeclaration
MethodDeclaration
ResultType
MethodDeclarator
FormalParameters
Block
BlockStatement
Statement
StatementExpression
PrimaryExpression
PrimaryPrefix
Name
PrimarySuffix
Arguments
ArgumentList
Expression
PrimaryExpression
PrimaryPrefix
Literal

  四、编写规则
  前面我们看到了Java源代码以及与之对应的对象层次结构,skechers shoes。下面我们就要利用这些对象编写PMD规则检查代码存在的问题。
  一般地,一个PMD规则可以看成一个Visitor,它遍历AST,寻找多个对象之间的一种特定模式, 这种模式表示代码存在的问题。问题模式可能简单也可能复杂,简单的如查找代码中是否包含new Thread关键词,复杂的如确定一个类是否正确覆盖了equals和hashcode。
  下面是一个寻找空if语句的简单PMD规则。
//扩展AbstractRule,以启用Visitor模式
public class EmptyIfStmtRule extends AbstractRule implements Rule {
//当源代码中出现一个Block,下面的方法被调用
public Object visit(ASTBlock node, Object data){
//如果父节点是一个if语句且代码块里面没有任何内容
if ((node.jjtGetParent().jjtGetParent() instanceof ASTIfStatement)
&& node.jjtGetNumChildren()==0) {
//肯定代码存在问题。把一个RuleViolation加入到Report。
RuleContext ctx = (RuleContext)data;
ctx.getReport().addRuleViolation(createRuleViolati on(ctx,
node.getBeginLine()));
}
//继续检查树的下一个节点
return super.visit(node, data);
}
}

  也许你不能一下子掌握这段代码,其实它的思路还是比较简单的:
  #扩展AbstractRule基类。
  #声明一个“钩子”,一旦我们感兴趣的节点出现,它就会被调用(称为“回调”)。在上面的例子中,我们 要求在每一个ASTBlock出现时得到通知,所以声明visit(ASTBlock node, Object data)。
  #在回调函数中,判断是否出现了我们正在检查的问题。本例我们检查是否存在空的if块,所以先判断当前 是否在ASTIfStatement之内,然后判断它是否有子节点。
  当然,我们还可以按照另一种方法进行检查:声明一个要求检查ASTIfStatement的回调函数, 然后在回调函数中检查是否存在子节点。
  五、配置规则
  写好自定义规则之后,接下来要把它加入到某个PMD规则集。所谓PMD规则集,就是由一组PMD规则构 成的集合。每个PMD规则集由一个XML文件定义,下面是一个PMD规则的配置信息的例子:
<rule name="EmptyIfStmt"
message="避免使用空的if语句"
class="net.sourceforge.pmd.rules.EmptyIfStmtRule">
<description>
找到空的if语句:if检查了条件,但if块里面没有任何内容。
</description>
<priority>3</priority>
<example>
<![CDATA[
if (absValue < 1) {
// not good
}
</XMLCDATA>
</example>
</rule>

  可以看出,规则配置文件包含了许多有用的信息。要运行新添加的规则,只需把规则集XML文件和Java 源代码文件放入CLASSPATH,然后运行PMD。
  Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off


All times are GMT. The time now is 11:34 AM.

 

Powered by vBulletin Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Free Advertising Forums | Free Advertising Message Boards | Post Free Ads Forum