当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:16:00  来源:本站整理

Java编程法例[Java编程]

赞助商链接



  本文“Java编程法例[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

本附录包含了大量有效的倡议,帮忙大家举行初级程序计划,并供应了代码编写的普通性指导:

(1) 类名首字母应当大写.字段、办法以及对象(句柄)的首字母应小写.关于全部标识符,此中包含的全部单词都应紧靠在一同,并且大写中间单词的首字母.比方:
ThisIsAClassName
thisIsMethodOrFieldName
若在定义中呈现了常数初始化字符,则大写static final基本范例标识符中的全部字母.这样便可标志出它们属于编译期的常数.
Java包(Package)属于一种特别情形:它们全都是小写字母,即便中间的单词亦是如此.关于域名扩大名称,如com,org,net大概edu等,全部都应小写(这也是Java 1.1和Java 1.2的辨别之一).

(2) 为了通例用处而成立一个类时,请采纳“经典情势”,并包含对下述元素的定义:

equals()
hashCode()
toString()
clone()(implement Cloneable)
implement Serializable

(3) 关于自己成立的每一个类,都考虑置入一个main(),此中包含了用于测试那个类的代码.为利用一个项目中的类,我们没必要删除测试代码.若举行了任何情势的窜改,可便利地返回测试.这些代码也可作为若何利用类的一个示例利用.

(4) 应将办法计划成扼要的、功效性单元,用它描写和实现一个不持续的类接口部份.抱负情形下,办法应简明扼要.若长度很大,可考虑通过某种方法将其分割成较短的几个办法.这样做也便于类内代码的反复利用(有些时刻,办法必须非常大,但它们仍应只做一样的一件事情).

(5) 计划一个类时,请设身处地为客户程序员考虑一下(类的利用办法应当是十清楚确的).然后,再设身处地为管理代码的人考虑一下(预计有大概举行哪些情势的改正,想想用什么办法可把它们变得更简单).
(6) 使类尽大概短小干练,并且只办理一个特定的问题.下面是对类计划的一些倡议:
■一个复杂的开关语句:考虑采取“多形”机制
■数目众多的办法触及到范例差别极大的操作:考虑用几个类来辨别实现
■很多成员变量在特点上有很大的差别:考虑利用几个类

(7) 让一切东西都尽大概地“私有”——private.可以使库的某一部份“大众化”(一个办法、类大概一个字段等等),就永久不能把它拿出.若强行拿出,便大概破坏其他人现有的代码,使他们不得不重新编写和计划.若只公布自己必须公布的,便可安心斗胆地改变其他任何东西.在多线程环境中,奥秘是分外重要的一个因素——只有private字段才能在非同步利用的情形下遭到保护.

(8) 谨惕“宏大对象综合症”.对一些习惯于次序编程思维、且初涉OOP范畴的新手,常常喜好先写一个次序履行的程序,再把它嵌入一个或两个宏大的对象里.按照编程原理,对象表达的应当是利用程序的概念,而非利用程序本身.

(9) 若不得已举行一些不太美观的编程,至少应当把那些代码置于一个类的内部.

(10) 任什么时刻候只要发现类与类之间结合得非常精密,就需求考虑能否采取内部类,从而改进编码及保护工作(拜见第14章14.1.2小节的“用内部类改良代码”).

(11) 尽大概具体地加上注释,并用javadoc注释文档语法生成自己的程序文档.

(12) 避免利用“魔术数字”,这些数字很难与代码很好地配合.如今后需求改正它,无疑会成为一场恶梦,因为根本不知道“100”毕竟是指“数组大小”还是“其他全然差别的东西”.所以,我们应成立一个常数,并为其利用具有说服力的描写性名称,并在整个程序中都采取常数标识符.这样可以使程序更易理解以及更易保护.

(13) 触及构建器和非常的时刻,普通但愿重新丢弃在构建器中捕捉的任何非常——假如它造成了那个对象的成立失利.这样一来,调用者就不会认为那个对象已精确地成立,从而盲目地持续.

(14) 当客户程序员用完对象今后,若你的类要求举行任何排除工作,可考虑将排除代码置于一个杰出定义的办法里,采取近似于cleanup()这样的名字,明确表明自己的用处.除此以外,可在类内安排一个boolean(布尔)标志,指出对象能否已被排除.在类的finalize()办法里,请肯定对象已被排除,并已丢弃了从RuntimeException担当的一个类(假如还没有的话),从而指出一个编程错误.在采纳象这样的筹划之前,请肯定finalize()可以在自己的系统中工作(大概需求调用System.runFinalizersOnExit(true),从而确保这一行为).

(15) 在一个特定的作用域内,若一个对象必须排除(非由垃圾汇集机制处理),请采取下述办法:初始化对象;若成功,则当即进入一个含有finally从句的try块,开始排除工作.

(16) 若在初始化历程中需求覆盖(撤消)finalize(),请记着调用super.finalize()(若Object属于我们的直接超类,则无此必要).在对finalize()举行覆盖的历程中,对super.finalize()的调用应属于最后一个行动,而不该是第一个行动,这样可确保在需求底子类组件的时刻它们仍然有效.

(17) 成立大小固定的对象集合时,请将它们传输至一个数组(若预备从一个办法里返回这个调集,更应如此操作).这样一来,我们便可享遭到数组在编译期举行范例查抄的好处.此外,为利用它们,数组的接纳者大概并不需求将对象“造型”到数组里.

(18) 尽大概利用interfaces,不要利用abstract类.若已知某样东西预备成为一个底子类,那么第一个挑选应是将其变成一个interface(接口).只有在不得不利用办法定义大概成员变量的时刻,才需求将其变成一个abstract(抽象)类.接口主要描写了客户但愿做什么事情,而一个类则努力于(或答应)具体的实施细节.

(19) 在构建器内部,只举行那些将对象设为精确状况所需的工作.尽大概地避免调用其他办法,因为那些办法大概被其他人覆盖或撤消,从而在构建历程中产生不可预知的后果(拜见第7章的具体阐明).

(20) 对象不该只是简单地包容一些数据;它们的行为也应得到杰出的定义.

(21) 在现成类的底子上成立新类时,请首先挑选“新建”或“创作”.只有自己的计划要求必须担当时,才应考虑这方面的问题.若在本来答应新建的场所利用了担当,则整个计划会变得没有必要地复杂.

(22) 用担当及办法覆盖来表示行为间的差别,而用字段表示状况间的辨别.一个非常极度的例子是通过对差别类的担当来表示颜色,这是绝对应当避免的:应直接利用一个“颜色”字段.

(23) 为避免编程时碰到麻烦,请保证在自己类途径指到的任何地方,每个名字都仅对应一个类.不然,编译器大概先找到同名的另一个类,并报告出错消息.若猜疑自己碰到了类途径问题,请试试在类途径的每一个起点,搜索一下同名的.class文件.

(24) 在Java 1.1 AWT中利用事件“适配器”时,分外简单碰到一个陷阱.若覆盖了某个适配器办法,同时拼写办法没有分外讲究,最后的后果就是新增添一个办法,而不是覆盖现成办法.但是,由于这样做是完好合理的,所以不会从编译器或运行期系统得到任何出错提醒——只不过代码的工作就变得不正常了.

(25) 用公道的计划筹划消除“伪功效”.也就是说,假如只需求成立类的一个对象,就不要提早限制自己利用利用程序,并加上一条“只生成此中一个”注释.请考虑将其封装成一个“独生子”的情势.若在主程序里有大量散乱的代码,用于成立自己的对象,请考虑采取一种创造性的筹划,将些代码封装起来.

(26) 鉴戒“解析瘫痪”.请记着,无论若何都要提早理解整个项目的情况,再去观察此中的细节.由于掌控了全局,可快速熟习自己未知的一些因素,避免在观察细节的时刻陷入“死逻辑”中.

(27) 鉴戒“过早优化”.首先让它运行起来,再考虑变得更快——但只有在自己必须这样做、并且经证实在某部份代码中的确存在一本性能瓶颈的时刻,才应举行优化.除非用专门的工具解析瓶颈,不然很有大概是在浪费自己的时间.性能晋升的隐含代价是自己的代码变得难于理解,并且难于保护.

(28) 请记着,阅读代码的时间比写代码的时间多得多.思绪清楚的计划可得到易于理解的程序,但注释、具体的注释以及一些示例常常具有不可估计的代价.无论对你自己,还是对后来的人,它们都是相当重要的.如对此仍有猜疑,那么请试想自己试图从联机Java文档里找出有效信息时碰到的挫折,这样大概能将你说服.

(29) 如认为自己已举行了杰出的解析、计划大概实施,那么请略微改换一下思维角度.试试邀请一些外来人士——并不一定是专家,但可以是来自本公司其他部门的人.请他们用完好新颖的目光观察你的工作,看看能否能找出你一度熟视无睹的问题.采纳这种方法,常常能在最合适改正的阶段找出一些关键性的问题,避免产品发行后再办理问题而造成的金钱及精神方面的丧失.

(30) 杰出的计划能带来最大的回报.简言之,关于一个特定的问题,普通会花较长的时间才能找到一种最得当的办理筹划.但一旦找到了精确的办法,今后的工作就轻松多了,再也不用阅历数小时、数天大概数月的痛楚挣扎.我们的勤奋工作会带来最大的回报(乃至无可估计).并且由于自己倾注了大量心血,终究得到一个超卓的计划筹划,成功的快感也是令人心动的.保持抵抗草草竣工的引诱——那样做常常得不偿失.

(31) 可在Web上找到大量的编程参考资源,乃至包含大量新闻组、谈论组、邮寄列表等.下面这个地方供应了大量有益的链接:

http://www.ulb.ac.be/esp/ip-Links/Java/joodcs/mm-WebBiblio.html


  以上是“Java编程法例[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .