[原创]Java最佳实践笔记。(不断更新)
a 先写注释后写代码写代码注释的最好方法是在写代码之前就写注释。这使你在写代码之前可以想想代码的功能和运行。而且这样确保不会遗漏注释。另一种方法是边写代码边写注释。因为注释可以使代码更易理解,所以在程序开发的过程中,也可以利用这一点。如果打算花些时间写注释,那么至少你应从这个过程中获得些什么
b 在注释中加入HTML标记
在文档注释中加入HTML标记可使最后生成的技术文档的格式丰富而变得更有表现力,因此强烈推荐采用在文档注释中加入HTML标记的做法,具体做的时候可在任一有HTML编辑功能的编辑器(如FrontPage)中编辑后再将HTML源代码拷贝进源代码编辑器中。但是,由于Javadoc可在多种媒体中发布,可能会在一个不支持HTML的媒体上进行发布,因此在文档注释中加入HTML标记也会带来一些潜在的问题,但在当前环境中不会出现问题。
原理:在文档注释中加入HTML标记可使最后生成的技术文档的格式丰富,表达力强。
c 对每种类型的类写出一个模板
这些类型可能是:Applet,Application,Form等。这一个实践也可能由IDE环境直接提供,如JBuilder直接在New时会提示采用某种模板。
原理:因为不必每次都重写,而模板是遵循规范的,因此可以与规范更加符合。
d 多使用Object.equals()而不要使用“==”做值的比较
许多情况下的比较都可以同时允许使用Object.equals()和“==”并获得相同结果,但更多情况下是使用Object.equals()才能正常工作。
e J2EE应用中多使用System.out.print()将中间信息输出到控制台
将中间信息输出到控制台可以帮助编码人员了解系统的内部运作,方便调试,同时可以及时发现编码过程存在的隐藏问题。建议输出到控制台的信息主要包括:数据库SQL语句,中间变量。
f 尽量少用抽象类,而用接口取代;必要时可以抽象类和接口偕同使用
任何实现了接口的具体类都可以被当前对象调用;而当前对象到底调用的是哪个具体类完全可以动态的决定,这样一来就使系统的可插入性有了保证。 我在实践过程中会遇到种种问题,以上是解决那些问题我觉得比较好的方法,不少方法是借鉴别人的,但我都有亲身体会,希望对大家有帮助。
同时希望大家跟贴也贴出自己的实践笔记,丰富下内容。 d 多使用Object.equals()而不要使用“==”做值的比较
许多情况下的比较都可以同时允许使用Object.equals()和“==”并获得相同结果,但更多情况下是使用Object.equals()才能正常工作。
e J2EE应用中多使用System.out.print()将中间信息输出到控制台
将中间信息输出到控制台可以帮助编码人员了解系统的内部运作,方便调试,同时可以及时发现编码过程存在的隐藏问题。建议输出到控制台的信息主要包括:数据库SQL语句,中间变量。
我只用到了 以上两个 呵呵,有共鸣就好了。楼上你也贴些你的笔记啊。 楼主~~~我顶~~~~咔咔~ 楼上的。你也贴些经验出来啊,搞技术的。。。哈哈。 我还是新手呢。
没啥经验哦。还望老大以后多多指教。 我老人了,很快就毕业了。希望能留点什么在工大。
师弟师妹们一起努力。 Originally posted by 寂寞高手 at 2005-10-21 11:31 AM:
我还是新手呢。
没啥经验哦。还望老大以后多多指教。
哈.这样说来你应该叫我大大师兄啊.保守估计大你两届. 写Interface,在interface里写上每个方法的功能和用法,把interface交给要用它的程序员,而隐藏实现细节. a 先写注释后写代码
注:好的方法代码行数应该在十行以内,所以先写注释好像没什么必要。写完一个方法再写它的注释也不迟。
b 在注释中加入HTML标记
注:同意
c 对每种类型的类写出一个模板
注:不懂。
d 多使用Object.equals()而不要使用“==”做值的比较
注:楼主是否了解过==不能正常工作的原因,我想是楼主对引用变量跟对象的理解不清楚。
e J2EE应用中多使用System.out.print()将中间信息输出到控制台
注:不懂。
f 尽量少用抽象类,而用接口取代;必要时可以抽象类和接口偕同使用
注:为什么? 从事java方面工作半年了的我发现自己还没有形成什么习惯,哎悲哀。。。
好怕wool王你的头像^^^
终于明白为什么编程区人这么少?!!(mm就更少,怕编程又怕wool王头像)
感觉喜欢泡论坛又喜欢编程的人不太多。。。
但喜欢做编程的人大都很喜欢玩游戏的。。。
[ Last edited by weechou on 2005-12-6 at 16:00 ] String对象带来的隐患
String对象却会给我们带来一些安全上的隐患。如果密码是存储在 Java String 对象中的,则直到对它进行垃圾收集或进程终止之前,密码会一直驻留在内存中。即使进行了垃圾收集,它仍会存在于空闲内存堆中,直到重用该内存空间为止。密码 String 在内存中驻留得越久,遭到窃听的危险性就越大。更糟的是,如果实际内存减少,则操作系统会将这个密码 String 换页调度到磁盘的交换空间,因此容易遭受磁盘块窃听攻击。为了将这种泄密的可能性降至最低(但不是消除),您应该将密码存储在 char 数组中,并在使用后对其置零(String 是不可变的,无法对其置零)。 用StringBuffer代替String。
主要是基于效率考虑,StringBuffer的执行效率比String要高,对于经常调用的字符串建议使用StringBuffer Originally posted by wool王 at 2005-12-9 10:16 PM:
用StringBuffer代替String。
主要是基于效率考虑,StringBuffer的执行效率比String要高,对于经常调用的字符串建议使用StringBuffer
StringBuider好像只是在某些应用的时候效率会高于String,比如在进行字符串连接或大字符串操作的时候,并不是任何时候效率都高于String。 Originally posted by 用程序诠释生命 at 2005/12/10 04:52:
StringBuider好像只是在某些应用的时候效率会高于String,比如在进行字符串连接或大字符串操作的时候,并不是任何时候效率都高于String。
别老是踩人场的时候自己说些不够说服力的观点。 a 先写注释后写代码
注:好的方法代码行数应该在十行以内,所以先写注释好像没什么必要。写完一个方法再写它的注释也不迟。
再注:当你在team中,或者你一个人负责写很多个模块/类/方法的时候,你会一个一个慢慢写,还是先写注释,将所有输入输出语句写好?我这里写先注释,不是说写程序前就先写2仟字的功能说明甚至算法说明,是先简单写一些必要描述,一些必要算法说明那些等写完注释后再写。笨!
b 在注释中加入HTML标记
注:同意
再注:既然你同意了我也没什么说。。。
c 对每种类型的类写出一个模板
注:不懂。
再注:不懂就自己去查资料
d 多使用Object.equals()而不要使用“==”做值的比较
注:楼主是否了解过==不能正常工作的原因,我想是楼主对引用变量跟对象的理解不清楚。
再注:你的“我想”的根据来自哪里?你回帖帮我解释下对象比较和引用比较概念和不同。
e J2EE应用中多使用System.out.print()将中间信息输出到控制台
注:不懂。
再注:这里我自己说得不好,应该是“调试的时候多使用System.out.print输出中间信息”。PS:你不懂是因为你不了解java,虽然java和C#几乎一样,但不是全部一样,你个白痴java方面少来这里充内行。
f 尽量少用抽象类,而用接口取代;必要时可以抽象类和接口偕同使用
注:为什么?
再注:不为什么,我反而想了解下C#有接口这个概念吗?如果有的话你觉得有了抽象类后接口为什么还要被发明出来? Originally posted by 用程序诠释生命 at 2005/12/10 04:52:
StringBuider好像只是在某些应用的时候效率会高于String,比如在进行字符串连接或大字符串操作的时候,并不是任何时候效率都高于String。
这方面我确实没太多亲身经历,你回帖帮我具体说明下。 路过技术地带……顶wool一个……全部睇吾明……郁闷………… 旧帖也要顶上来。
我知道Wool的JAVA实践笔记一定还有更多精彩的。
师兄你不留多点给师弟师妹,可不行啊!
呵呵~
页:
[1]
2