这个是在网上看到的,是提高代码质量应该参照的准则,就转帖过来,以备随时查阅。
一、创建和销毁对象
1.考虑用静态工厂方法(返回类的实例的静态方法)代替构造器
2.遇到多个构造器参数时要考虑用构造器
3.用私有构造器或者枚举类型强化Singleton属性
4.通过私有构造器强化不可实例化的能力
5.避免创建不必要的对象
6.消除过期的对象引用
7.避免使用终结(final)方法
二、对于所有对象都通用的方法
8.覆盖equals时请遵守通用约定
9.覆盖equals时总要覆盖hashCode
10.始终要覆盖toString
11.谨慎地覆盖clone
12.考虑实现Comparable接口
三、类和接口
13.使类和成员的可访问性最小化
14.在公有类中使用访问方法而非公有域
15.使可变性最小化
16.复合优于继承
17.要么为继承为设计,并提供文档说明,要么就禁止继承
18.接口优于抽象类
19.接口只用于定义类型
20.类层次优于标签类
21.用函数对象表示策略
22.优先考虑静态成员类
四、泛型
23.不要在新代码中采用原生态类型
24.消除非受检警告
25.列表优先于数组
26.优先考虑泛型
27.优先考虑泛型方法
28.采用有限制通配符来提升API的灵活性
29.优先考虑类型安全的异构造器
五、枚举和注解
30.用enum带起int常量
31.用实例域代替序数
32.用EnumSet代替位域
33.用EnumMap代替序数索引
34.用接口模拟可伸缩的枚举
35.注解优先于命名模式
36.坚持使用Override注解
37.用标记接口定义类型
六、方法
38.检查参数的有效性
39.必要时进行保护性拷贝
40.谨慎设计方法签名
41.慎用重载
42.慎用可变参数
43.返回零长度的数组或者集合,而不是null
44.为所有导出的API元素编写文档注释
七、通用程序设计
45.将局部变量的作用域最小化
46.for-each循环优先于传统的for循环
47.了解和使用类库
48.如果需要精确的答案,请避免使用float和double
49.基本类型优先于装箱基本类型
50.如果其他类型更适合,则尽量避免使用字符串
51.当心字符串链接的性能
52.通过接口引用对象
53.接口优先于反射机制
54.谨慎使用本地方法
55.谨慎进行优化
56.遵守普遍接受的命名惯例
八、异常
57.只针对异常的情况才使用异常
58.对可恢复的情况使用受检异常,对编程错误使用运行时异常
59.避免不必要地使用受检的异常
60.优先使用标准的异常
61.抛出与抽象相对应的异常
62.每个方法抛出的异常都要有文档
63.在细节消息中包含捕获失败的信息
64.努力使失败包含原子性
65.不要忽略异常
九、并发
66.同步访问共享的可变数据
67.避免过度同步
68.executor和task优先于线程
69.并发工具优先于wait和notify
70.线程安全性的文档化
71.慎用延迟初始化
72.不要依赖于线程调度器
73.避免使用线程组
十、序列化
74.谨慎的实现Seriallizable接口
75.考虑使用自定义的序列化形式
76.保护性的编写readObject方法
77.对于实例控制,枚举类型优先于readResolve
78.考虑用序列化代理代替序列化实例
分享到:
相关推荐
Java命名法则是Java编程中非常重要的一个方面,它规定了如何为包(Package)、类(Class)、变量(Variables)、常量(Static Final Variables)、参数(Parameters)以及数组(Arrays)等进行命名,以提高代码的...
《Java编程模式与范例》是一本深入探讨Java编程中常用设计模式和实践案例的书籍。这本书旨在帮助Java开发者理解和应用各种编程模式,提升代码质量和可维护性。设计模式是软件开发中的宝贵经验总结,它们代表了在特定...
总的来说,通过学习和研究这个“java数值计算算法示例程序”,开发者不仅可以提升Java编程技能,还能增强在数值计算领域的专业素养。这将有助于解决实际项目中的复杂问题,提高软件的性能和准确性。同时,支持正版...
总的来说,这一单元的教学旨在让学生掌握Java语言的基础,能够独立编写简单的Java程序,为后续的Java编程学习打下坚实基础。通过实际操作和反复练习,学生不仅可以理解理论知识,还能具备实际编程能力,为未来解决...
Java编程语言在数值分析领域有着广泛的应用,它提供了一系列强大的工具和库,使得开发者能够进行复杂的数学计算和数据处理。这个压缩包中的“Math”文件很可能包含了一系列与数值分析相关的Java程序,虽然没有注释,...
### JAVA编程规则总结 #### 一、编程原则 1. **不要自我重复** 这是最基本的编程原则之一,意味着避免重复的代码。在Java编程中,可以通过多种方式来减少代码重复,如使用循环语句、函数、类等。一旦发现代码中...
迪米特法则是Java编程中一个重要的法则,它指导我们在类创建方法和属性时需要遵守的原则。下面我们将详细介绍迪米特法则的定义、问题由来、解决方案、优点和实践场景。 定义:迪米特法则是指一个对象应该对其他对象...
在IT行业中,调度问题是一个广泛研究的领域,特别是在操作系统、并行计算以及分布式系统中。这里我们关注的是基于Johnson...通过理解这些概念并结合Java编程,可以开发出高效的调度解决方案,应用于实际的生产环境。
总的来说,"购车贷款程序设计JAVA"涵盖了JAVA编程基础、面向对象设计、金融计算算法、GUI编程和错误处理等多个方面,是学习和实践JAVA技术的好项目。通过这个项目,开发者不仅可以提升编程技能,还能对贷款业务有...
在Java编程领域,数值计算算法是至关重要的,特别是在科学计算、数据分析、工程应用以及金融建模等场景。Java作为一种跨平台、面向对象的编程语言,提供了丰富的库和工具来支持复杂的数值计算。以下是对"Java数值...
### Java完美编程(第三版) ...本章总结了Java编程的基础概念,包括语言起源、基本语法、字符串处理以及编程风格等方面的内容。通过学习本章,读者可以获得Java编程的基本技能,并为进一步深入学习打下坚实的基础。
Java编程是计算机科学领域中最广泛使用的编程语言之一,尤其在企业级应用开发中占据着重要地位。"Java编程100个例子"是一份珍贵的学习资源,它通过大量的实例帮助初学者和进阶者深入理解Java的核心概念和特性。下面...
总的来说,这个Java分词程序的使用涉及到了Java编程、分词算法、系统级库的调用以及软件部署等方面的知识。用户在使用时需注意正确配置环境,确保所有依赖项就绪,以便充分利用这个工具进行高效的中文文本处理。
在Java编程领域,敏感词分析是一项重要的技术,尤其在文本处理、内容审查和信息安全中有着广泛应用。本项目基于Java基础知识,提供了一种实现敏感词分析的解决方案,特别适合于学生在提交作业时进行内容过滤,以确保...
6. **数值积分与微分**:对于微积分问题,Java中可以利用数值方法(如梯形法则、辛普森法则)来近似积分,或者使用有限差分法进行微分。这通常需要自定义函数和循环结构来实现。 7. **数值优化**:在寻找函数的...
Java编程基础是学习Java开发的重要环节,特别是对于初学者来说,掌握基本的语法和运算符是构建程序的基础。本文将详细讲解Java中的算数运算符、关系运算符、逻辑运算符以及位运算符,这些都是编写Java图形用户界面...
根据提供的文档内容,我们可以归纳并深入探讨Java并发编程的一些核心概念和原理,这些知识点对于理解和实践Java并发编程至关重要。 ### JVM内存模型 JVM内存模型是理解Java并发的基础。主要包含以下几个部分: ##...
Java并发编程是编程领域中处理多任务同时执行的技术,特别是在多核处理器上,能够让程序更加有效地利用计算资源,提高程序处理速度和响应能力。在Java中,并发编程主要依赖于JVM的内存模型、线程安全、可见性、原子...