国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JAVA規則開發篇

2019-11-18 11:16:45
字體:
來源:轉載
供稿:網友

本文介紹的java規則的說明分為3個主要級別,本篇拋棄了平時開發中很少碰到的情況,那些用得比較少的以后再高級篇里面出現。并有六個有用的國際軟件開發重要注重的有關String的問題,遵守了這些規則可以提高程序的效率、使代碼又更好的可讀性等。
(1) 假如有JDBC連接沒有關掉的話,需要在"finally"方法中關掉
假如數據庫連接失敗或者是沒有釋放連接,看上去無關緊要。但是其他的用戶就需要用更長的時間等待連接,這樣數據庫利用效率就會下降。確保你的代碼在任何情況下,包括出錯或者程序異常終止的情況下都釋放數據庫連接。在"finally"方法中關掉連接,就可以確保這一點。
錯誤示例:
try {
Statement stmt = con.createStatement();
} catch(SQLException e) {
e.PRintStackTrace();
}
正確示例:
try {
Statement stmt = con.createStatement();
} finally {
if (con != null && !con.isClosed()) {
con.close();
}
}

(2) 盡量避免使用'Thread.resume ()', 'Thread.stop ()', 'Thread.suspend ()'和 'Runtime.runFinalizersOnExit ()' 方法。
這些方法在平時的開發或者是教科書里面也有用到過,但是這些方法會導致四鎖的傾向。一下有充足的資料來說明為什么不建議用上述方法。
參考:1."java.lang.Thread" in the JDK API documentation
2. http://java.sun.com/j2se/1.3/docs/guide/misc/threadPrimitiveDeprecation.Html
3.Paul Hyde: "Java Thread Programming"
Sams, ISBN: 0-672-31585-8 pp. 270

(3) 在表示長整常量的時候,用L來代替l.
因為l很輕易和1混一起。
錯誤示例:
long temp = 23434l;
正確示例:
long temp = 23434L;
參考:Ken Arnold, James Gosling: "The Java Programming Language Second Edition"Addison Wesley, 1997, pp.108

(4) 最好在jsp開頭寫一條注釋
在 jsp文件頭上面寫一條注釋,這樣可以幫助別人來理解你的代碼。這條規則不僅適用于jsp,更是用于任何開發的文檔。
正確示例:<%-- JSP comment --%>

(5)明確的初始化一個構造類里面的所有的字段
因為沒有初始化的字段會是一個潛在的bug,所以最好初始化類里面的所有的字段。非凡是靜態的字段,最好在一開始就分配一個初始值
錯誤示例:
public class CSI {
public CSI () {
this (12);
k = 0;
}

public CSI (int val) {
j = val;
}

private int i = 5;
private int j;
private int k;
}

正確示例:
public class CSIFixed {
public CSIFixed () {
this (12);
}

public CSIFixed (int val) {
j = val;
k = 0;
}

private int i = 5;
private int j;
private int k;
}
參考:http://www.ambysoft.com/javaCodingStandards.pdf

(6) 國際化開發建議:邏輯操作符不要再一個單個的字符的前面或者后面
一個單個字符的前后不要用邏輯操作符,假如代碼要在一個國家環境中運行的話。我們可以使用字符比較方法,這些方法使用統一字符比較標準來定義字符的屬性的。
錯誤示例:public class CLO {
public boolean isLetter (char ch) {
boolean _isLetter = ( ch >= 'a' && ch <= 'z')   //錯誤
(ch >= 'A' && ch <= 'Z');
return _isLetter;
}
}

正確示例:
public class CLOFixed {
public boolean isLetter (char ch) {
boolean _isLetter = Character.isLetter(ch);
return _isLetter;
}
}
參考: http://java.sun.com/docs/books/tutorial/i18n/intro/checklist.html
更多的字符比較方法請參考:http://java.sun.com/docs/books/tutorial/i18n/text/charintro.html



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梅河口市| 山丹县| 砀山县| 邢台市| 伽师县| 崇文区| 吉木萨尔县| 舒城县| 镇沅| 谷城县| 五台县| 茶陵县| 新兴县| 阿尔山市| 英吉沙县| 汝阳县| 安岳县| 香港| 盐池县| 隆安县| 奉节县| 清远市| 茂名市| 龙门县| 铁力市| 昔阳县| 宁波市| 灌阳县| 桐城市| 上虞市| 尼勒克县| 柘城县| 天水市| 衡阳市| 萨嘎县| 阿克苏市| 延寿县| 平舆县| 连江县| 大荔县| 原平市|