http://www.blogjava.net/dongbule/archive/2011/08/15/356577.html
1、静态工厂方法的一个好处是,和构造函数不同,静态工厂方法有名字,这样使使用者更清晰。另一个好处是不用每次都创建一个实例,比如boolean.valueof()和单例等。
利于接口编程
2、不要直接调用对象的成员变量,提供方法这样可以有灵活的变化空间,单例的时候也是一样,把单例变量设为private
3、如果不想一个类被实例话如一些util类,最好把构造函数设为私有的,这样不会造成误解
4、重复使用每一个对象,而不是每次使用的时候都去创建例如string。
5、类中不变的东西抽象出来不要每次都去创建。但这个东西也是相对的,自己维护对象池是个很费力的工作而且同时也要考虑到保护性拷贝的东西,在项目中自己掌握。
6、在接口和具体实现类之间加入一个抽象类,可以不用实现所有方法做个隔离
http://blog.csdn.net/scs2000/article/details/1554463
adaptor理解的还不好。接下来看看
7、写equal方法是一定要注意应满足的规则,自反,对称,一致,在比较时也要注意比较顺序。
8、系统尽量做的隔离,外部的交互通过接口来实现,这样利于并行开发和后期维护
尽量隐藏类的内部数据和实现细节,
类在不需要提供给外部用的时候可以做成是包级别的,一旦做成public的就不能随便修改
9、非可变对象设计,String之类的,对类的操作产生新的实例,而不是对原有对象进行修改。但这种方式的实现一般会有性能上的问题如String的+操作,所以一般提供类似Stringbuffer之类的辅助
10、组合优于继承,如果一个类不是为了被继承设计的,或者真的是继承关系的话,父类修改会造成子类功能上的问题。只有在真正需要的时候才使用继承
11、接口优于抽象类,一般接口都和一个
骨架类进行配合使用例如,abstractSet等等接口只用来定义类型
12、优先考虑静态成员类,如果成员类不需要访问外围的资源最好定义为静态成员类。内部类的例子可以看看Hashtable代码。
13、方法的描述要清楚,在进入方法是要进行条件检查,
14、保护性拷贝,对于对象的可变实例,在get和set的时候一定要小心,要不容易不小心被用户修改。
15、方法不易拆分的过细每一个方法代表一个功能就好,如果不能拆分不要特意的去做这些,函数的参数不要过长。
16、谨慎使用方法的重载,因为他是在编译期被决定和重写不同。这样如果当重载方法有一个参数是其它几个的基类的时候会有问题
17、将局部变量作用域最小化,每一个变量在声明的时候都应该有初始值,如果现在不能的话变量在能的时候在声明
18、在循环的时候for优于while,for能控制变量的作用域
善于使用第三方类库
19、如果其它类型能符合要求的话尽量不要使用字符串,如真假用boolean也不要做聚集类型如a_b_c
20、取%运算的时候要判断是否大于integer.maxvalue,大于有可能变为负数。
分享到:
相关推荐
《Effective Java》是一本经典且深受程序员喜爱的书籍,由Joshua Bloch撰写,中文版为《EFFECT JAVA 中文》。这本书深入探讨了Java编程的最佳实践和常见陷阱,旨在帮助开发者写出更高效、可维护的代码。书中分为多个...
Java的“Effect”通常指的是在Java编程中与视觉效果、动画和用户界面动态表现相关的概念。在Java中,我们可以利用各种库和API来创建出丰富多彩的特效,提升用户体验。以下是一些关于Java特效的关键知识点: 1. ...
《Effective Java》是Java编程领域的一本经典著作,由Joshua Bloch撰写,它提供了许多最佳实践和设计原则,帮助开发者写出更高效、更可维护的代码。第三版延续了这一传统,对Java语言的新特性进行了更新,并给出了...
《Effective Java》是Java编程领域的一本经典著作,由Joshua Bloch撰写,现在已经更新到第三版。这本书深入探讨了如何编写高效、可维护且设计良好的Java代码,是每一个Java开发者提升技能的重要参考资料。以下是对该...
标签“java”指明文档内容与Java编程语言紧密相关。从提供的部分节选内容来看,文档专注于讨论在Java中使用静态工厂方法的好处及其与构造方法的区别,以下是对这些内容的详细展开。 1. 静态工厂方法与构造方法的...
《有效的Java》是Java开发领域的一本经典著作,由Joshua Bloch撰写,它为Java程序员提供了一系列实用的编程准则和最佳实践。本书的核心理念是提高代码质量、可读性和可维护性,通过一系列条目介绍了如何编写更高效、...
在Java编程中,告警提示代码是用于向用户或开发者发出警告信息的关键部分。这些警告可能涉及潜在的问题、不安全的操作或程序中的错误状态。在Java中,我们通常使用`System.out.println()`或`System.err.println()`来...
在布局XML文件中,虽然无法直接定义Reveal Effect,但可以通过编写Java代码动态地创建和启动动画。 7. **兼容性问题**: 虽然Reveal Effect是Android 5.0引入的新特性,但开发者可以通过`android.support.v4.view....
这个"A-simple-rain-effect-in-java.zip_in"文件包含了一系列实现这一效果所需的资源和代码。让我们深入探讨一下其中涉及的关键知识点。 首先,我们看到有三个类文件:`Rain.class`, `RainDrop.class`。这些是Java...
让Swing控件也有渐隐和渐显的效果:重写Swing的public void paint(Graphics g)方法。Swing的一切样式说白了都是利用paint方法“画”上去的,所以说Swing比较慢,当然如果我们考虑Swing主要用来做客户端显示 的,稍微...
`TestEffect.zip`和`ActivityEffectSource.zip`可能包含了测试效果的代码或源码,用于展示如何处理摄像头捕获的图像,比如添加特效或者检测活动变化。这些可以是实际应用中的关键部分,因为实时视频分析常常涉及图像...
Set properties in java code mvImage.setSrcPath(filePath); mvImage.clear(); mvImage.setEffect(Effect.BLUR); mvImage.setMosaicColor(0xFF4D4D4D); mvImage.setMode(Mode.PATH); Demo Contact me Any ...
Android ViewPager 画廊效果 从上面的图片可以看到,当添加多张图片的时候,能够在下方形成一个画廊的效果,我们左右拉动图片来看我们添加进去的图片,效果是不是好了很多呢?下面来看看怎么实现吧!...
在Java编程语言中,实现视频反色效果是一项挑战性的任务,涉及到图像处理和色彩理论的知识。反色,也称为负片效果,是将图像或视频中的颜色反转的过程,通常通过取颜色的补色来实现。在本文中,我们将深入探讨如何在...
"Special Effect"这个项目正是关注于在Android平台上实现图片的阴影和影子特效。以下将详细介绍如何在Android中创建这些效果,并通过源码中的注释进行深入解析。 首先,阴影效果在Android中通常是通过`Paint`类的`...
这可能需要用到Java Sound API的AudioEffect和AudioProcessor接口。 9. **错误处理**:在处理音频文件和播放过程中,可能会遇到各种错误,如文件不存在、格式不支持等。因此,良好的错误处理机制是非常重要的。 ...
- 音频效果处理:Java音频API还支持音频效果处理,例如回声、混响等,通过`Effect`接口实现。 总结,Java的音频处理能力使得开发者能够轻松创建跨平台的音频播放器。通过JBuilder这样的IDE,可以提升开发效率并...
Java Image Filters是由Jhlabs开发的一组用来处理Java图像的类库,提供各种常用的图像处理效果,例如反转色、扭曲、水波纹、凹凸、黑白效果等等数十种效果。 (Java Image Filters by ... and so dozens of effect.)
Android提供了AudioEffect类来实现这些功能,但可能需要额外研究和实验。 12. **数据持久化**:如果需要保存用户的播放列表或偏好,需要学习SQLite数据库或SharedPreferences来存储数据。 以上就是开发“基于Java...
I could very well see why writing side-effect-free code worked! I was hooked and started playing with Scala, Clojure, and Erlang. Immutability was the norm here. However, I wondered how traditional ...