文章詳情頁
Java程序的編碼規范(6)
瀏覽:15日期:2024-07-03 13:52:35
內容: Java程序的編碼規范(6)作者:李小敏 本文選自:IBM DW中國 2002年08月21日 ● Utility 類 Utility 類(僅僅提供方法的類)應該被申明為抽象的來防止被繼承或被初始化。 ● 初始化 下面的代碼是一種很好的初始化數組的方法: objectArguments = new Object[] { arguments }; ● 枚舉類型 JAVA 對枚舉的支持不好,但是下面的代碼是一種很有用的模板: class Colour { public static final Colour BLACK = new Colour(0, 0, 0); public static final Colour RED = new Colour(0xFF, 0, 0); public static final Colour GREEN = new Colour(0, 0xFF, 0); public static final Colour BLUE = new Colour(0, 0, 0xFF); public static final Colour WHITE = new Colour(0xFF, 0xFF, 0xFF);} 這種技術實現了RED, GREEN, BLUE 等可以象其他語言的枚舉類型一樣使用的常量。 他們可以用 '==' 操作符來比較。 但是這樣使用有一個缺陷:如果一個用戶用這樣的方法來創建顏色 BLACK new Colour(0,0,0) 那么這就是另外一個對象,'=='操作符就會產生錯誤。她的 equal() 方法仍然有效。由于這個原因,這個技術的缺陷最好注明在文檔中,或者只在自己的包中使用。 Swing避免使用 AWT 組件 ● 混合使用 AWT 和 Swing 組件 如果要將 AWT 組件和 Swing 組件混合起來使用的話,請小心使用。實際上,盡量不要將他們混合起來使用。 ● 滾動的 AWT 組件 AWT 組件絕對不要用 JscrollPane 類來實現滾動。滾動 AWT 組件的時候一定要用 AWT ScrollPane 組件來實現。 ● 避免在 InternalFrame 組件中使用 AWT 組件 盡量不要這么做,要不然會出現不可預料的后果。 ● Z-Order 問題 AWT 組件總是顯示在 Swing 組件之上。當使用包含 AWT 組件的 POP-UP 菜單的時候要小心,盡量不要這樣使用。 調試調試在軟件開發中是一個很重要的部分,存在軟件生命周期的各個部分中。調試能夠用配置開、關是最基本的。 很常用的一種調試方法就是用一個 PrintStream 類成員,在沒有定義調試流的時候就為 null,類要定義一個 debug 方法來設置調試用的流。 性能● 在寫代碼的時候,從頭至尾都應該考慮性能問題。這不是說時間都應該浪費在優化代碼上,而是我們時刻應該提醒自己要注意代碼的效率。比如:如果沒有時間來實現一個高效的算法,那么我們應該在文檔中記錄下來,以便在以后有空的時候再來實現她。 不是所有的人都同意在寫代碼的時候應該優化性能這個觀點的,他們認為性能優化的問題應該在項目的后期再去考慮,也就是在程序的輪廓已經實現了以后。 ● 不必要的對象構造 不要在循環中構造和釋放對象。 使用 StringBuffer 對象: 在處理 String 的時候要盡量使用 StringBuffer 類,StringBuffer 類是構成 String 類的基礎。String 類將 StringBuffer 類封裝了起來,(以花費更多時間為代價)為開發人員提供了一個安全的接口。當我們在構造字符串的時候,我們應該用 StringBuffer 來實現大部分的工作,當工作完成后將 StringBuffer 對象再轉換為需要的 String 對象。比如:如果有一個字符串必須不斷地在其后添加許多字符來完成構造,那么我們應該使用 StringBuffer 對象和她的 append() 方法。如果我們用 String 對象代替 StringBuffer 對象的話,會花費許多不必要的創建和釋放對象的 CPU 時間。 ● 避免太多的使用 synchronized 關鍵字 避免不必要的使用關鍵字 synchronized,應該在必要的時候再使用她,這是一個避免死鎖的好方法。 可移植性Borland Jbulider 不喜歡 synchronized 這個關鍵字,如果你的斷點設在這些關鍵字的作用域內的話,調試的時候你會發現的斷點會到處亂跳,讓你不知所措。除非必須,盡量不要使用。 ● 換行 如果需要換行的話,盡量用 println 來代替在字符串中使用'n'。 你不要這樣: System.out.print('Hello,world!n'); 要這樣: System.out.println('Hello,world!'); 或者你構造一個帶換行符的字符串,至少要象這樣: String newline = System.getProperty('line.separator'); System.out.println('Hello world' + newline); ● PrintStream PrintStream 已經被不贊成(deprecated)使用,用 PrintWrite 來代替她。 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽:
Java
上一條:Java程序的編碼規范(4)下一條:java虛擬機詳述-第三章(二)
相關文章:
排行榜