﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-曲凡的C/C＋＋程序生活-文章分类-JAVA</title><link>http://www.cppblog.com/jetqu2003/category/7301.html</link><description>软件人生</description><language>zh-cn</language><lastBuildDate>Fri, 06 Jun 2008 19:52:33 GMT</lastBuildDate><pubDate>Fri, 06 Jun 2008 19:52:33 GMT</pubDate><ttl>60</ttl><item><title>转载（JAVA开发工具）</title><link>http://www.cppblog.com/jetqu2003/articles/52339.html</link><dc:creator>relaxqu</dc:creator><author>relaxqu</author><pubDate>Fri, 06 Jun 2008 03:37:00 GMT</pubDate><guid>http://www.cppblog.com/jetqu2003/articles/52339.html</guid><wfw:comment>http://www.cppblog.com/jetqu2003/comments/52339.html</wfw:comment><comments>http://www.cppblog.com/jetqu2003/articles/52339.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jetqu2003/comments/commentRss/52339.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jetqu2003/services/trackbacks/52339.html</trackback:ping><description><![CDATA[<h1>常见的十四种Java开发工具及其特点</h1>
<div id=sh style="FONT-SIZE: 12pt; COLOR: #0000ff"><a href="http://www.soft6.com/comment-f4-i45610.html"></a>&nbsp;</div>
<div id=memo style="FONT-SIZE: 12pt; COLOR: #0000ff">
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">1、JDK （Java Development Kit）Java开发工具集 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　从初学者角度来看，采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系，有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java （J2EE、J2SE以及J2ME）版本的升级而升级。但它的缺点也是非常明显的就是从事大规模企业级Java应用开发非常困难，不能进行复杂的Java软件开发，也不利于团体协同开发。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">2、Java Workshop </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">3、NetBeans 与Sun Java Studio 5 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　NetBeans是开放源码的Java集成开发环境(IDE)，适用于各种客户机和Web应用。Sun Java Studio是Sun公司最新发布的商用全功能Java IDE，支持Solaris、Linux和Windows平台，适于创建和部署2层Java Web应用和n层J2EE应用的企业开发人员使用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　NetBeans是业界第一款支持创新型Java开发的开放源码IDE。开发人员可以利用业界强大的开发工具来构建桌面、Web或移动应用。同时，通过NetBeans和开放的API的模块化结构，第三方能够非常轻松地扩展或集成NetBeans平台。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　NetBeans3.5.1主要针对一般Java软件的开发者，而Java One Studio5则主要针对企业做网络服务等应用的开发者。Sun不久还将推出Project Rave，其目标是帮助企业的开发者进行软件开发。</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　NetBeans 3.5.1版本与其他开发工具相比，最大区别在于不仅能够开发各种台式机上的应用，而且可以用来开发网络服务方面的应用，可以开发基于J2ME的移动设备上的应用等。在NetBeans 3.5.1基础上，Sun开发出了Java One Studio5，为用户提供了一个更加先进的企业编程环境。在新的Java One Studio5里有一个应用框架，开发者可以利用这些模块快速开发自己在网络服务方面的各种应用程序。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">4、Borland 的JBuilder </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Jbuilder进入了Java集成开发环境的王国，它满足很多方面的应用，尤其是对于服务器方以及EJB开发者们来说。下面简单介绍一下Jbuilder的特点: </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　1）Jbuilder支持最新的Java技术，包括Applets、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的应用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　2）用户可以自动地生成基于后端数据库表的EJB Java类，Jbuilder同时还简化了EJB的自动部署功能.此外它还支持CORBA，相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　3）Jbuilder支持各种应用服务器。Jbuilder与Inprise Application Server紧密集成，同时支持WebLogic Server，支持EJB 1.1和EJB 2.0，可以快速开发J2EE的电子商务应用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　4）Jbuilder能用Servlet和JSP开发和调试动态Web 应用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　5）利用Jbuilder可创建(没有专有代码和标记)纯Java2应用。由于Jbuilder是用纯Java语言编写的，其代码不含任何专属代码和标记，它支持最新的Java标准。</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　6）Jbuilder拥有专业化的图形调试介面，支持远程调试和多线程调试，调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JBuilder环境开发程序方便，它是纯的Java 开发环境，适合企业的J2EE开发；缺点是往往一开始人们难于把握整个程序各部分之间的关系，对机器的硬件要求较高，比较吃内存，这时运行速度显得较慢。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">5、Oracle 的JDeveloper </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Oracle9i JDeveloper（定为9.0版，最新为10g）为构建具有J2EE功能，XML和Web services的复杂的，多层的Java应用程序提供了一个完全集成的开发环境。它为运用Oracle9i数据库和应用服务器的开发人员提供特殊的功能和增强性能，除此以外，它也有资格成为用于多种用途Java开发的一个强大的工具。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Oracle9i JDeveloper的主要特点如下： </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　① 具有UML（Unified Modeling Language，一体化建模语言）建模功能。可以将业务对象及e-business应用模型化。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　② 配备有高速Java调试器（Debuger）、内置Profiling工具、提高代码质量的工具&#8220;CodeCoach&#8221;等。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　③ 支持SOAP（Simple Object Access Protocol）&#8220;简单对象访问协议&#8221;、UDDI（Universal Description, Discovery and Integration）&#8220;统一描述、发现和集成协议&#8221;、WSDL（Web Services Description Language）&#8220;WEB服务描述语言&#8221;等Web服务标准。<br>&nbsp;</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JDeveloper 不仅仅是很好的 Java 编程工具，而且是 Oracle Web 服务的延伸，支 Apache SOAP，以及 9iAS ，可扩充的环境和 XML 和 WSDL 语言紧密相关。Oracle9i Jdeveloper完全利用Java编写，能够与以前的Oracle服务器软件以及其他厂商支持J2EE的应用服务器产品相兼容，而且在设计时着重针对Oracle9i，能够无缝化跨平台之间的应用开发，提供了业界第一个完整的、集成了J2EE和XML的开发环境，允许开发者快速开发可以通过Web、无线设备及语音界面访问的Web服务和交易应用，以往只能通过将传统Java编程技巧与最新模块化方式结合到一个单一集成的开发环境中之后才能完成J2EE应用开发生命周期管理的事实，从根本上得到改变。缺点就是对于初学者来说，较复杂，也比较难。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">6、IBM的Visual Age for Java </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual Age for Java是一个非常成熟的开发工具，它的特性以于IT开发者和业余的Java编程人员来说都是非常用有用的。它提供对可视化编程的广泛支持，支持利用CICS连接遗传大型机应用，支持EJB的开发应用，支持与Websphere的集成开发，方便的bean创建和良好的快速应用开发(RAD)支持和无文件式的文件处理。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　IBM为建设Web站点所推出的WebSphere Studio Advanced Edition及其包含的Visua Age for Java Professional Edition软件已全面转向以Java为中心，这样，Java开发人员对WebSphere全套工具的感觉或许会好了许多。Studio所提供的工具有：Web站点管理、快速开发 JDBC页向导程序、HTML编辑器和HTML语法检查等。这确实是个不错的HTML站点页面编辑环境。Studio和VisualAge集成度很高，菜单中提供了在两种软件包之间快速移动代码的选项。这就让使用Studio的Web页面设计人员和使用VisualAge的Java程序员可以相互交换文件、协同工作。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual Age for Java支持团队开发，内置的代码库可以自动地根据用户做出改动而修改程序代码，这样就可以很方便地将目前代码和早期版本做出比较。与Visual Age紧密结合的Websphere Studio本身并不提供源代码和版本管理的支持，它只是包含了一个内置文件锁定系统,当编辑项目的时候可以防止其他人对这些文件的错误修改，软件还支持诸如Microsoft Visual SourceSafe这样的第三方源代码控制系统。Visual Age for Java完全面向对象的程序设计思想使得开发程序非常快速、高效。你可以不编写任何代码就可以设计出一个典型的应用程序框架。Visual Age for Java作为IBM电子商务解决方案其中产品之一，可以无缝地与其他IBM产品，如WebSphere、DB2融合, 迅速完成从设计、开发到部署应用的整个过程。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual Age for Java独特的管理文件方式使其集成外部工具非常困难,你无法让Visual Age for Java与其他工具一起联合开发应用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">7、BEA 的 WebLogic Workshop </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　BEA WebLogic Workshop是一个统一、简化、可扩展的开发环境，使所有的开发人员都能在 BEA WebLogic Enterprise Platform之上构建基于标准的企业级应用，从而提高了开发部门的生产力水平，加快了价值的实现。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　WebLogic Workshop除了提供便捷的Web服务之外，它能够用于创建更多种类的应用。作为整个BEA WebLogic Platform的开发环境。不管是创建门户应用、编写工作流、还是创建Web应用，Workshop 8.1都可以帮助开发人员更快更好地完成。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　WebLogic Workshop的主要特点如下： </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　① 使 J2EE 开发切实可行，提高开发效率 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　BEA WebLogic Workshop 使开发人员远离 J2EE 内在的复杂性，集中精力专注业务逻辑，无须操心单调乏味的基础结构代码。这种创新意味着，已被企业验证的 J2EE 的强大功能，最终被大多数不熟悉 Java 和 J2EE 的应用开发人员所掌握，从而使 IT 部门的工作效率提高一个数量级。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　可视化设计器以及直观的概念，如事件、属性和控件等，实现了基于事件的开发。Workshop 简化的程序设计模型，使开发人员不必掌握复杂的 J2EE API 和面向对象的程序设计原理。所有开发人员，包括 J2EE 专家和具有可视化和过程化语言技能的应用开发人员在内，都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop 的可视化开发环境，创建带有代码注释的标准 Java 文件，用来说明由运行时框架实施的企业级需求。J2EE 和其他高级开发人员，借助功能强大的代码编辑功能，可以访问 Java 源代码，从而弥补了可视化设计器的不足。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　② 构建企业级应用 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　通过在可伸缩、安全可靠的企业级架构上实施各种应用，BEA WebLogic Workshop 大大降低了开发风险。而且，所有应用的创建都使用标准的 J2EE 组件，既保护了您的技术投资，又保持了最大的灵活性。 BEA WebLogic Workshop 运行框架，是统一整个架构的汇聚层，使单一、简化的程序设<br>计模型扩展到所有的 BEA WebLogic Enterprise Platform 应用类型。通过解释设计时创建的注释代码，运行时框架可以实现必要的 J2EE 组件，并且提取出与 J2EE 应用开发有关的所有底层细节。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　③ 降低 IT 复杂性 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　BEA WebLogic Workshop 提供各种 Java 控件，使得与 IT 资源的连接更轻而易举。另外，在构建任何 BEA WebLogic Platform 的应用中，Java 控件不仅可扩展而且完全相同。这种强大、有效的方法能够：降低 IT 技术的复杂性，优化信息的可用性，推动包含"最佳业务方案"的可重用服务的开发，使开发人员能以更低的成本、更短的时间实现更大的产出。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　利用 BEA WebLogic Workshop，任何开发人员都能以最大的生产效率，构建各种Web 服务、Web 应用、门户和集成项目。BEA WebLogic Workshop是BEA的产品战略核心，它帮助客户接触和利用面向服务架构(SOA)的强大功能。BEA Weblogic Workshop 8.1极大简化了当前实际企业集成环境中企业级应用和服务的构建，并成为全面支持关键企业级应用(如异步、真正松耦合和粗粒度消息传送等)的自然选择。它的缺点就是过于复杂，对于初学者来说，理解起来较为困难。</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">8、WebGain 的Visual Cafe for Java </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual Cafe 是只能在Symantec公司的Java虚拟机、Netscape公司的Java虚拟机和Microsoft虚拟机上工作的调试器。这对于开发者来讲是一个重要的特性,因为用户开发的Java代码中的许多软件bug就可能中会在某种特定的虚拟机上起作用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　在修改后进行编译基继续进行调试时,Visual Cafe会自动将文件存盘，使用Visual Cafe创建的原生应用具有许多特点。除了明显的速度提高之外,Symantec使类库的二进制方式比正常的JDK小Visual Cafe为所指定的关系自动生成或更新必要的Java代码。利用Visual Cafe，用户可以从一个标准对象数据库中集合完整的Java应用程序和Applet，而不必再编写源代码。Visual Cafe还提供了一个扩充的源代码开发工具集。　 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual Cafe综合了Java软件的可视化源程序开发工具，它允许开发人员在可视化视图和源视图之间进行有效地转换。在可视化视图中进行的修改立即反映在源代码中。对源代码的改变自动更新可视化视图。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual Cafe具有许多源文件方面的特性，如全局检索和替换。绝大多数Java开发工具的文献的问题在于简单地挨个介绍开发工具的每部分组件，但用户在开应用时还需要一个面向任务的手册，利用这个手册你可以不必知道工具每一部分的特定功能就可以开始创建自己的应用。Visual Cafe提供了非常全面的用户指南,它对最开始的安装到创建第一个Java应用和Applet都提供了全面的帮助，Visual Cafe将自动生成所指明关系的必要Java代码。Visual Cafe可以在Windows 95和Windows NT平台下运行，Symantec公司为Java开发工作提供一个在Macintosh操作系统下可以运行的RAD工具。Visual Cafe编译器速度很快，在国际化支持方面比较突出；缺点就是对于初学者来说，较复杂，也比较难。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">9、Macromedia的JRUN </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Macromedia公司的JRun是一个具有最广阔适用性的Java引擎，用于开发及实施由Java Servlets和JavaServer Pages编写的服务器端Java应用。JRun是第一个完全支持JSP 1.0 规格书的商业化产品，全球有超过80,000名开发人员使用JRun在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括了Microsoft IIS，Netscape Enterprise Server，Apache等。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JRun是开发实施服务器端Java的先进引擎。如果我们希望在我们的Web应用中添加服务器端Java功能，那么JRun将成为我们的正确选择。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JRun目前有3个版本，它是第一个支持Java Server Pages(JSP)规格书1.0的商业化产品。JSP是一种强大的服务器端技术，它是用于创建复杂Web应用的一整套快速应用开发系统。JRun可以使我们开始开发并测试Java应用。它最多接受5个并发的连接并且包括全部Java Servlet API，支持JavaServer Pages(JSP)，支持所有主要的Web servers和计算机平台。 JRun Pro能够在生产环境下承受大访问量的负载，帮助我们实施应用、服务或Web站点（包括内联网）。JRun Pro 支持无限量并发式连接运行多个Jav<br>a虚拟机，包括多个并发的Java虚拟机（JVM）。提供一个远程管理applet以及一个远程可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能，除次以外，还可以运行无限量的，并发的JVM。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JRun依靠其内置的JRun Web Server可以单独运行。使用服务器端Java，用户可以开发出复杂的商业应用系统。最重要的一点是，由于servlets的平台独立性，以及更加简单的开发、更快速的实施、更经济的维护成本，它是CGI(Common Gateway Interface)或Perl scripts的极佳的替代产品。缺点就是对于初学者来说，较复杂，也比较难。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">10、JCreator </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JCreator 是一个Java程序开发工具，也是一个Java集成开发环境（IDE）。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易，还允许使用者自订义操作窗口界面及无限Undo/Redo等功能。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JCreator为用户提供了相当强大的功能，例如项目管理功能，项目模板功能，可个性化设置语法高亮属性、行数、类浏览器、标签文档、多功能编绎器，向导功能以及完全可自定义的用户界面。通过JCreator，我们不用激活主文档而直接编绎或运行我们的JAVA程序。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　JCreator能自动找到包含主函数的文件或包含Applet的Html文件，然后它会运行适当的工具。在JCreator中，我们可以通过一个批处理同时编绎多个项目。JCreator的设计接近Windows界面风格，用户对它的界面比较熟悉。其最大特点是与我们机器中所装的JDK完美结合，是其它任何一款IDE所不能比拟的。它是一种初学者很容易上手的java开发工具，缺点是只能进行简单的程序开发，不能进行企业J2EE的开发应用。</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">11、Microsoft VJ++ </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual J++ 是Microsoft 公司推出的可视化的Java 语言集成开发环境(IDE)，为Java 编程人员提供了一个新的开发环境，是一个相当出色的开发工具。无论集成性、编译速度、调试功能、还是易学易用性，都体现了Microsoft 的一惯风格。Visual J++ 具有下面的特点： </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　1）Visual J++ 把Java 虚拟机(JVM)作为独立的操作系统组件放入Windows，使之从浏览器中独立出来。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　2）Microsoft 的应用基本类库(AFC,Application Foundation Class Library)对SUN 公司的JDK 作了扩展，使应用基本类库更加适合在Windows 下使用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　3） Visual J++ 的调试器支持动态调试，包括单步执行、设置断点、观察变量数值等。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　4） Visual J++ 提供了一些程序向导(Wizards)和生成器(Builders)，它们可以方便地帮助用户快速地生成Java 程序，帮助你在自己的工程中创建和修改文件。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　5） Visual J++ 界面友好，其代码编辑器具有智能感知、联机编译等功能，使程序编写十分方便。Visual J++ 中建立了Java 的WFC，这一新的应用程序框架能够直接访问Windows 应用程序接口(API)，使你能够用Java 语言编写完全意义上的Windows 应用程序。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　6）Visual J++ 中表单设计器的快速应用开发特性使用WFC 创建基于表单的应用程序变得轻松、简单。通过WFC 可以方便地使用ActiveX 数据对象(ADO,ActiveX Data Objects)来检索数据和执行简单数据的绑定。通过在表单设计器中使用ActiveX 数据对象，可以快速地在表单中访问和显示数据。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Visual J++能结合微软的一贯的编程风格，很方便进行Java 的应用开发，但它的移植性较差，不是纯的Java 开发环境。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">12、Eclipse </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Eclipse是一种可扩展的开放源代码IDE。2001年11月，IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟，并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在&#8220;开发、构建和调试&#8221;的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性，业界厂商合作创建了Eclipse平台。Eclipse允许在同一IDE中集成来自不同供应商的工具，并实现了工具之间的互操作性，从而显著改变了项目工作流程，使开发者可以专注在实际的嵌入式目标上。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Eclipse框架的这种灵活性来源于其扩展点。它们是在XML中定义的已知接口，并充当插件的耦合点。扩展点的范围包括从用在常规表述过滤器中的简单字符串，到一个Java类的描述。任何Eclipse插件定义的扩展点都能够被其它插件使用，反之，任何Eclipse插件也可以遵从其它插件定义的扩展点。除了解由扩展点定义的接口外，插件不知道它们通过扩展点提供的服务将如何被使用。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　利用Eclipse，我们可以将高级设计(也许是采用UML)与低级开发工具(如应用调试器等)结合在一起。如果这些互相补充的独立工具采用Eclipse扩展点彼此连接，那么当我们用调试器逐一检查应用时，UML对话框可以突出显示我们正在关注的器件。事实上，由于Eclipse并不了解开发语言，所以无论Java语言调试器、C/C++调试器还是汇编调试器都是有效的，并可以在相同的框架内同时瞄准不同的进程或节点。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Eclipse的最大特点是它能接受由Java开发者自己编写的开放源代码插件，这类似于微软公司的Visual Studio和Sun微系统公司的NetBeans平台。Eclipse为工具开发商提供了更好的灵活性，使他们能更好地控制自己的软件技术。Eclipse联盟已经宣布将在2004年中期发布其3.0版软件。这是一款非常受欢迎的java开发工具，这国内的用户越来越多，实际上实用它java开发人员是最多的。缺点就是较复杂，对初学者来说，理解起来比较困难。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">13、Ant </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Another Neat Tool(Ant)是一种基于Java的build工具。理论上来说，它有些类似于（Unix）C中的make ，但没有make的缺陷。因为Ant的原作者在多种(硬件)平台上开发软件时，无法忍受这些工具的限制和不便。类似于make的工具本质上是基于shell（语言）的：他们计算依赖关系，然后执行命令（这些命令与你在命令行敲的命令没太大区别）。这就意味着你可以很容易地通过使用OS特有的或编写新的（命令）程序扩展该工具；然而，这也意味着你将自己限制在了特定的OS，或特定的OS类型上，如Unix。Ant就不同了。与基于shell命令的扩展模式不同，Ant用Java的类来扩展。（用户）不必编写shell命令，配置文件是基于XML的，通过调用target树，就可执行各种task。每个task由实现了一个实现了特定Task接口的对象来运行。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Ant支持一些可选task，一个可选task一般需要额外的库才能工作。可选task与Ant的内置task分开，单独打包。这个可选包可以从你下载Ant的同一个地方下载。ANT本身就是这样一个流程脚本引擎，用于自动化调用程序完成项目的编译，打包，测试等。除了基于JAVA是平台无关的外，脚本的格式是基于XML的，比make脚本来说还要好维护一些。Ant是Apache提供给Java开发人员的构建工具，它可以在Windows OS和Unix OS下运行，它不仅开放源码并且还是一个非常好用的工具。Ant是Apache Jakarta中一个很好用的Java开发工具，Ant配置文件采用XML文档编写，所以Java程序员对其语法相当熟悉，Ant是专用于Java项目平台，能够用纯Java来开发，它能够运行于Java安装的平台，即体现了它的跨平台功能。它的缺点显示执行结果只能是DOS字符界面，不能进行复杂的java程序开发。</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">14、IntelliJ </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　Intellij IDEA是一款综合的Java 编程环境，被许多开发人员和行业专家誉为市场上最好的IDE。它提供了一系列最实用的的工具组合：智能编码辅助和自动控制，支持J2EE，Ant，JUnit和CVS集成，非平行的编码检查和创新的GUI设计器。IDEA把Java开发人员从一些耗时的常规工作中解放出来，显著地提高了开发效率。具有运行更快速，生成更好的代码；持续的重新设计和日常编码变得更加简易，与其它工具的完美集成；很高的性价比等特点。在4.0版本中支持Generics，BEA WebLogic集成，改良的CVS集成以及GUI设计器。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　IntelliJ IDEA能尽可能地促进程序员的编程速度。它包括了很多辅助的功能，并且与Java结合得相当好。不同的工具窗口围绕在主编程窗口周围，当鼠标点到时即可打开，无用时也可轻松关闭，使用户得到了最大化的有效屏幕范围。以技术为导向的IDEA集成了调试器，支持本地和远程的调试，即使我们需要修改一些设置上的东西使我们的工作顺利进展。另外，它还提供了通常的监视，分步调试以及手动设置断点功能，在这种断点模式下，我们可以自动地在断点之外设置现场访问，甚至可以浏览不同的变量的值。IDE支持多重的JVM设置，几个编译程序和Ant建造系统，并且，它使得设置多重的自定义的类途径变得简单。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　IntelliJ Idea是一个相对较新的Java IDE。它是Java开发环境中最为有用的一个。高度优化的IntelleJ Idea使普通任务变得相当容易，Idea支持很多整合功能，更重要的使它们设计的好容易使用。Idea支持XML中的代码实现，Idea同时还会校正XML，Idea支持JSP的结构。作用于普通Java代码的众多功能同样适用于JSP（比如整合功能），同时支持JSP调试；支持EJB，尽管它不包括对个别应用服务器的特殊支持。Idea支持Ant建立工具，不仅是运行目标它还支持编译与运行程序前后运行目标，另外也支持绑定键盘快捷键。在编辑一个Ant建立XML文件时，Idea还对组成Ant工程的XML部分提供支持。IntelliJ IDEA 被称为是最好的JAVA IDE开发平台，这套软件就是以其聪明的即时分析和方便<br>的 refactoring 功能深获大家所喜爱。缺点是较复杂，对初学者来说，理解起来比较困难。 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">小结 </p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　现在常用的Java项目开发环境有：JBuilder、VisualAge for Java、Forte for Java, Visual Cafe、Eclipse、NetBeans IDE、JCreator +J2SDK、jdk+记事本、EditPlus+ J2SDK等等。一般开发J2EE项目时都需要安装各公司的应用服务器（中间件）和相应的开发工具，在使用这些开发工具之前，我们最好能熟知这些软件的优点和缺点，以便根据实际情况选择应用。编程工具只是工具，为了方便人们工作而开发的，各有特点，因此，选工具主要的依据自己将要从事的领域是什么，而不是盲目的认为那种工具好，那种工具不好。最后希望大家都能找到自己合适的java 开发工具。</p>
<p style="FONT-SIZE: 12pt; COLOR: #0000ff">　　源自：<a href="http://www.javaresearch.org/article/showarticle.jsp?column=91&amp;thread=24920">http://www.javaresearch.org/article/showarticle.jsp?column=91&amp;thread=24920</a></p>
</div>
<img src ="http://www.cppblog.com/jetqu2003/aggbug/52339.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jetqu2003/" target="_blank">relaxqu</a> 2008-06-06 11:37 <a href="http://www.cppblog.com/jetqu2003/articles/52339.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA语言的部分编码规范</title><link>http://www.cppblog.com/jetqu2003/articles/52129.html</link><dc:creator>relaxqu</dc:creator><author>relaxqu</author><pubDate>Wed, 04 Jun 2008 03:02:00 GMT</pubDate><guid>http://www.cppblog.com/jetqu2003/articles/52129.html</guid><wfw:comment>http://www.cppblog.com/jetqu2003/comments/52129.html</wfw:comment><comments>http://www.cppblog.com/jetqu2003/articles/52129.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/jetqu2003/comments/commentRss/52129.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/jetqu2003/services/trackbacks/52129.html</trackback:ping><description><![CDATA[<p><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编码规范可以改善软件的可读性，可以让程序员尽快而彻底地理解新的代码</strong><span lang=EN-US><br></span><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果你将源码作为产品发布，就需要确任它是否被很好的打包并且清晰无误。</strong></span></p>
<ul>
    <li>
    <div class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><em><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">开头注释<span lang=EN-US>(Beginning Comments)</span></span></em><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><o:p></o:p></span></div>
    </li>
</ul>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">所有的源文件都应该在开头有一个<span lang=EN-US>C</span>语言风格的注释，其中列出类名、版本信息、日期和版权声明：<br><span lang=EN-US><o:p><br>&nbsp; </p>
<ul>
    <li>
    <div align=left><em><span>包和引入语句<span>(Package and Import Statements)</span></span></em></div>
    </li>
</ul>
<p align=left><span>在多数<span>Java</span>源文件中，第一个非注释行是包语句。在它之后可以跟引入语句。例如：</span></p>
<p align=left><span>&nbsp;package java.awt;</span></p>
<p align=left>&nbsp;</p>
<p align=left><span>&nbsp;import java.awt.peer.CanvasPeer;<br><br><br><br><br>&nbsp; </p>
<ul>
    <li>
    <div align=left><em><span>类和接口声明<span>(Class and Interface Declarations)</span></span></em></div>
    </li>
</ul>
<p align=left><span>下表描述了类和接口声明的各个部分以及它们出现的先后次序。参见<span>"<a href="http://www.cppblog.com/Sys/Temp/wangning/Rar$EX00.781/code_conventions_for_java.html#b1#b1">Java<span><span>源文件范例</span></span></a>"</span>中一个包含注释的例子。</span></p>
<p align=left>
<table cellPadding=0 border=1>
    <tbody>
        <tr>
            <td>
            <p align=left>&nbsp;</p>
            </td>
            <td>
            <p align=left><span>类<span>/</span>接口声明的各部分</span></p>
            </td>
            <td>
            <p align=left><span>注解</span></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>1</span></p>
            </td>
            <td>
            <p align=left><span>类<span>/</span>接口文档注释<span>(/**&#8230;&#8230;*/)</span></span></p>
            </td>
            <td>
            <p align=left><span>该注释中所需包含的信息，参见<span>"</span></span><span><a href="http://www.cppblog.com/Sys/Temp/wangning/Rar$EX00.781/code_conventions_for_java.html#52#52"><span><span>文档注释</span></span></a></span><span>"</span></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>2</span></p>
            </td>
            <td>
            <p align=left><span>类或接口的声明</span></p>
            </td>
            <td>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>3</span></p>
            </td>
            <td>
            <p align=left><span>类<span>/</span>接口实现的注释<span>(/*&#8230;&#8230;*/)</span>如果有必要的话</span></p>
            </td>
            <td>
            <p align=left><span>该注释应包含任何有关整个类或接口的信息，而这些信息又不适合作为类<span>/</span>接口文档注释。</span></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>4</span></p>
            </td>
            <td>
            <p align=left><span>类的<span>(</span>静态<span>)</span>变量</span></p>
            </td>
            <td>
            <p align=left><span>首先是类的公共变量，随后是保护变量，再后是包一级别的变量<span>(</span>没有访问修饰符，<span>access modifier)</span>，最后是私有变量。</span></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>5</span></p>
            </td>
            <td>
            <p align=left><span>实例变量</span></p>
            </td>
            <td>
            <p align=left><span>首先是公共级别的，随后是保护级别的，再后是包一级别的<span>(</span>没有访问修饰符<span>)</span>，最后是私有级别的。</span></p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>6</span></p>
            </td>
            <td>
            <p align=left><span>构造器</span></p>
            </td>
            <td>
            <p align=left>&nbsp;</p>
            </td>
        </tr>
        <tr>
            <td>
            <p align=left><span>7</span></p>
            </td>
            <td>
            <p align=left><span>方法</span></p>
            </td>
            <td>
            <p align=left><span>这些方法应该按功能，而非作用域或访问权限，分组。例如，一个私有的类方法可以置于两个公有的实例方法之间。其目的是为了更便于阅读和理解代码。</span></p>
            </td>
        </tr>
    </tbody>
</table>
<br><br><br></p>
<ul>
    <li>
    <div class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">注释<span lang=EN-US>(Comments)</span></span></strong><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><o:p></o:p></span></div>
    </li>
</ul>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">Java</span><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">程序有两类注释：实现注释<span lang=EN-US>(implementation comments)</span>和文档注释<span lang=EN-US>(document comments)</span>。实现注释是那些在<span lang=EN-US>C++</span>中见过的，使用<span lang=EN-US>/*...*/</span>和<span lang=EN-US>//</span>界定的注释。文档注释<span lang=EN-US>(</span>被称为<span lang=EN-US>"doc comments")</span>是<span lang=EN-US>Java</span>独有的，并由<span lang=EN-US>/**...*/</span>界定。文档注释可以通过<span lang=EN-US>javadoc</span>工具转换成<span lang=EN-US>HTML</span>文件。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">实现注释用以注释代码或者实现细节。文档注释从实现自由<span lang=EN-US>(implementation-free)</span>的角度描述代码的规范。它可以被那些手头没有源码的开发人员读懂。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">注释应被用来给出代码的总括，并提供代码自身没有提供的附加信息。注释应该仅包含与阅读和理解程序有关的信息。例如，相应的包如何被建立或位于哪个目录下之类的信息不应包括在注释中。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">在注释里，对设计决策中重要的或者不是显而易见的地方进行说明是可以的，但应避免提供代码中己清晰表达出来的重复信息。多余的的注释很容易过时。通常应避免那些代码更新就可能过时的注释。<span lang=EN-US><o:p></o:p></span></span></p>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">注意：频繁的注释有时反映出代码的低质量。当你觉得被迫要加注释的时候，考虑一下重写代码使其更清晰。<span lang=EN-US><o:p></o:p></span></span></p>
<p align=left><br><br><br></p>
<ul>
    <li>
    <div class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><strong><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">命名规范<span lang=EN-US>(Naming Conventions)</span></span></strong><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt"><o:p></o:p></span></div>
    </li>
</ul>
<p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">命名规范使程序更易读，从而更易于理解。它们也可以提供一些有关标识符功能的信息，以助于理解代码，例如，不论它是一个常量，包，还是类。<span lang=EN-US><o:p></o:p></span></span></p>
<p align=left>
<table class=MsoNormalTable style="mso-cellspacing: 1.5pt" cellPadding=0 border=1>
    <tbody>
        <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">标识符类型<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">命名规则<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">例子<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 1">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">包<span lang=EN-US>(Packages)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">一个唯一包名的前缀总是全部小写的<span lang=EN-US>ASCII</span>字母并且是一个顶级域名，通常是<span lang=EN-US>com</span>，<span lang=EN-US>edu</span>，<span lang=EN-US>gov</span>，<span lang=EN-US>mil</span>，<span lang=EN-US>net</span>，<span lang=EN-US>org</span>，或<span lang=EN-US>1981</span>年<span lang=EN-US>ISO 3166</span>标准所指定的标识国家的英文双字符代码。包名的后续部分根据不同机构各自内部的命名规范而不尽相同。这类命名规范可能以特定目录名的组成来区分部门<span lang=EN-US>(department)</span>，项目<span lang=EN-US>(project)</span>，机器<span lang=EN-US>(machine)</span>，或注册名<span lang=EN-US>(login names)</span>。<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">com.sun.eng<br>com.apple.quicktime.v2<br>edu.cmu.cs.bovik.cheese<o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 2">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">类<span lang=EN-US>(Classes)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">命名规则：类名是个一名词，采用大小写混合的方式，每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词，避免缩写词<span lang=EN-US>(</span>除非该缩写词被更广泛使用，像<span lang=EN-US>URL</span>，<span lang=EN-US>HTML)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">class Raster;<br>class ImageSprite;<o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 3">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">接口<span lang=EN-US>(Interfaces)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">命名规则：大小写规则与类名相似<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">interface RasterDelegate;<br>interface Storing;<o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 4">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">方法<span lang=EN-US>(Methods)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">方法名是一个动词，采用大小写混合的方式，第一个单词的首字母小写，其后单词的首字母大写。<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">run();<br>runFast();<br>getBackground();<o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 5">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">变量<span lang=EN-US>(Variables)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">除了变量名外，所有实例，包括类，类常量，均采用大小写混合的方式，第一个单词的首字母小写，其后单词的首字母大写。变量名不应以下划线或美元符号开头，尽管这在语法上是允许的。<span lang=EN-US><br></span>变量名应简短且富于描述。变量名的选用应该易于记忆，即，能够指出其用途。尽量避免单个字符的变量名，除非是一次性的临时变量。临时变量通常被取名为<span lang=EN-US>i</span>，<span lang=EN-US>j</span>，<span lang=EN-US>k</span>，<span lang=EN-US>m</span>和<span lang=EN-US>n</span>，它们一般用于整型；<span lang=EN-US>c</span>，<span lang=EN-US>d</span>，<span lang=EN-US>e</span>，它们一般用于字符型。<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">char c;<br>int i;<br>float myWidth;<o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 6">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">实例变量<span lang=EN-US>(Instance Variables)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">大小写规则和变量名相似，除了前面需要一个下划线<span lang=EN-US><o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">int _employeeId;<br>String _name;<br>Customer _customer;<o:p></o:p></span></p>
            </td>
        </tr>
        <tr style="mso-yfti-irow: 7; mso-yfti-lastrow: yes">
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">常量<span lang=EN-US>(Constants)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">类常量和<span lang=EN-US>ANSI</span>常量的声明，应该全部大写，单词间用下划线隔开。<span lang=EN-US>(</span>尽量避免<span lang=EN-US>ANSI</span>常量，容易引起错误<span lang=EN-US>)<o:p></o:p></span></span></p>
            </td>
            <td style="BORDER-RIGHT: #ece9d8; PADDING-RIGHT: 0.75pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 0.75pt; PADDING-BOTTOM: 0.75pt; BORDER-LEFT: #ece9d8; PADDING-TOP: 0.75pt; BORDER-BOTTOM: #ece9d8; BACKGROUND-COLOR: transparent">
            <p class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan" align=left><span lang=EN-US style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-font-kerning: 0pt">static final int MIN_WIDTH = 4;<br>static final int MAX_WIDTH = 999;<br>static final int GET_THE_CPU = 1;<o:p></o:p></span></p>
            </td>
        </tr>
    </tbody>
</table>
<br><br><span style="FONT-SIZE: 12pt; COLOR: black; FONT-FAMILY: 宋体; mso-bidi-font-family: 宋体; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"><strong><span lang=EN-US><br></span></strong></span><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></span></p>
</o:p></span></span>
<img src ="http://www.cppblog.com/jetqu2003/aggbug/52129.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/jetqu2003/" target="_blank">relaxqu</a> 2008-06-04 11:02 <a href="http://www.cppblog.com/jetqu2003/articles/52129.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>