高效编写JAVA代码的30条建议

高效编写JAVA代码的30条建议,第1张

高效编写JAVA代码的30条建议,第2张

(1)类名的首字母要大写。字段、方法和对象(句柄)的首字母应该小写。对于所有标识符,其中包含的所有单词应该靠在一起,中间单词的第一个字母应该大写。例如:thissis class name thisismethodorfieldname如果常量初始化字符出现在定义中,那么静态final基本类型标识符中的所有字母都要大写。这将把它们标记为编译时常数。Java包是一个特例:它们都是小写字母,甚至是中间的单词。对于域名扩展名,比如com、org、net或者edu,都要小写(这也是Java 1.1和Java 1.2的区别之一)。

(2)创建通用类时,请采取“经典形式”并包含以下元素的定义:equals()hashcode()tostring()clone()(implement uncleable)implement serializable

(3)对于您创建的每个类,请考虑放置它。为了在项目中使用一个类,我们不需要删除测试代码。如果进行了任何更改,可以方便地返回到测试。这些代码也可以用作如何使用类的示例。

(4)方法应该设计成一个简洁的功能单元,可以用来描述和实现一个不连续的类接口。理想情况下,方法应该简明扼要。如果长度很大,可以用某种方式分成几个更短的方法。这也有助于类中代码的重用(有时,方法必须非常大,但它们仍然应该只做同样的事情)。

(5)设计类的时候,请设身处地为客户程序员着想(类的用法要非常清楚)。然后,把你自己放在管理代码的人的位置上(什么样的变化是可预期的,并且考虑使它们更简单的方法)。
(6)把课讲得尽可能短而精,只解决一个具体问题。下面是对类设计的一些建议:■一个复杂的switch语句:考虑采用“多态”机制■大量的方法涉及到极其不同类型的操作:考虑用几个类分别实现■很多成员变量在特性上差异很大:考虑用几个类。

(7)让一切尽可能“私密”——私密。如果你能使库的一部分成为“公共的”(一个方法、类或字段等)。),永远都拿不出来。如果强行推出,可能会破坏其他人已有的代码,让他们不得不重新编写和设计。如果你只发表你必须发表的东西,你可以放心地改变其他任何东西。在多线程环境中,隐私是一个特别重要的因素——只有私有字段在异步使用时才能得到保护。

(8)我想提醒你“巨型物体综合症”。对于一些习惯了顺序编程思维,又是OOP新手的新手来说,往往喜欢先写一个顺序程序,然后嵌入到一两个巨大的对象中。根据编程原则,对象应该表达应用程序的概念,而不是应用程序本身。

(9)如果你不得不做一些难看的编程,你至少应该把那些代码放在一个类里面。

(10)每当发现类与类紧密结合时,就要考虑是否采用内部类,以改进编码和维护(见第14章14.1.2小节“用内部类改进代码”)。

(11)尽可能仔细地添加注释,使用javadoc注释文档语法生成自己的程序文档。

(12)避免使用“幻数”,幻数很难很好地匹配代码。如果以后需要修改,无疑会成为一场噩梦,因为你根本不知道“100”指的是“数组大小”还是“完全不同的东西”。因此,我们应该创建一个常数,为它使用一个有说服力的描述性名称,并在整个程序中采用一个常数标识符。这将使程序更容易理解和维护。

(13)当涉及到构建器和异常时,通常希望丢弃在构建器中捕获的任何异常——如果它导致该对象的创建失败。这样调用者就不会认为对象创建正确,盲目继续。

(14)当客户端程序员用完对象时,如果您的类需要任何清理工作,请考虑将清理代码放在一个定义良好的方法中,使用类似cleanup()的名称来清楚地表明其目的。此外,您可以在类中放置一个布尔标记来指示对象是否已被清除。在类的finalize()方法中,请确保对象已被清除,并且从RuntimeException继承的类已被丢弃(如果尚未丢弃),从而指出编程错误。在采用这样的方案之前,请确保finalize()可以在自己的系统中工作(您可能需要调用system . runfinalizersonnexit(true)来确保这种行为)。(15)在特定的范围内,如果一个对象必须被清除(不通过垃圾收集机制处理),请采用以下方法:初始化该对象;如果成功,立即输入带有finally子句的try块,并开始清理工作。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 高效编写JAVA代码的30条建议

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情