国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

Java程序的編碼規(guī)范(6)

瀏覽:21日期:2024-07-03 13:52:35
內(nèi)容: Java程序的編碼規(guī)范(6)作者:李小敏 本文選自:IBM DW中國 2002年08月21日 ● Utility 類 Utility 類(僅僅提供方法的類)應(yīng)該被申明為抽象的來防止被繼承或被初始化。 ● 初始化 下面的代碼是一種很好的初始化數(shù)組的方法: objectArguments = new Object[] { arguments }; ● 枚舉類型 JAVA 對(duì)枚舉的支持不好,但是下面的代碼是一種很有用的模板: 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);} 這種技術(shù)實(shí)現(xiàn)了RED, GREEN, BLUE 等可以象其他語言的枚舉類型一樣使用的常量。 他們可以用 '==' 操作符來比較。 但是這樣使用有一個(gè)缺陷:如果一個(gè)用戶用這樣的方法來創(chuàng)建顏色 BLACK new Colour(0,0,0) 那么這就是另外一個(gè)對(duì)象,'=='操作符就會(huì)產(chǎn)生錯(cuò)誤。她的 equal() 方法仍然有效。由于這個(gè)原因,這個(gè)技術(shù)的缺陷最好注明在文檔中,或者只在自己的包中使用。 Swing避免使用 AWT 組件 ● 混合使用 AWT 和 Swing 組件 如果要將 AWT 組件和 Swing 組件混合起來使用的話,請(qǐng)小心使用。實(shí)際上,盡量不要將他們混合起來使用。 ● 滾動(dòng)的 AWT 組件 AWT 組件絕對(duì)不要用 JscrollPane 類來實(shí)現(xiàn)滾動(dòng)。滾動(dòng) AWT 組件的時(shí)候一定要用 AWT ScrollPane 組件來實(shí)現(xiàn)。 ● 避免在 InternalFrame 組件中使用 AWT 組件 盡量不要這么做,要不然會(huì)出現(xiàn)不可預(yù)料的后果。 ● Z-Order 問題 AWT 組件總是顯示在 Swing 組件之上。當(dāng)使用包含 AWT 組件的 POP-UP 菜單的時(shí)候要小心,盡量不要這樣使用。 調(diào)試調(diào)試在軟件開發(fā)中是一個(gè)很重要的部分,存在軟件生命周期的各個(gè)部分中。調(diào)試能夠用配置開、關(guān)是最基本的。 很常用的一種調(diào)試方法就是用一個(gè) PrintStream 類成員,在沒有定義調(diào)試流的時(shí)候就為 null,類要定義一個(gè) debug 方法來設(shè)置調(diào)試用的流。 性能● 在寫代碼的時(shí)候,從頭至尾都應(yīng)該考慮性能問題。這不是說時(shí)間都應(yīng)該浪費(fèi)在優(yōu)化代碼上,而是我們時(shí)刻應(yīng)該提醒自己要注意代碼的效率。比如:如果沒有時(shí)間來實(shí)現(xiàn)一個(gè)高效的算法,那么我們應(yīng)該在文檔中記錄下來,以便在以后有空的時(shí)候再來實(shí)現(xiàn)她。 不是所有的人都同意在寫代碼的時(shí)候應(yīng)該優(yōu)化性能這個(gè)觀點(diǎn)的,他們認(rèn)為性能優(yōu)化的問題應(yīng)該在項(xiàng)目的后期再去考慮,也就是在程序的輪廓已經(jīng)實(shí)現(xiàn)了以后。 ● 不必要的對(duì)象構(gòu)造 不要在循環(huán)中構(gòu)造和釋放對(duì)象。 使用 StringBuffer 對(duì)象: 在處理 String 的時(shí)候要盡量使用 StringBuffer 類,StringBuffer 類是構(gòu)成 String 類的基礎(chǔ)。String 類將 StringBuffer 類封裝了起來,(以花費(fèi)更多時(shí)間為代價(jià))為開發(fā)人員提供了一個(gè)安全的接口。當(dāng)我們?cè)跇?gòu)造字符串的時(shí)候,我們應(yīng)該用 StringBuffer 來實(shí)現(xiàn)大部分的工作,當(dāng)工作完成后將 StringBuffer 對(duì)象再轉(zhuǎn)換為需要的 String 對(duì)象。比如:如果有一個(gè)字符串必須不斷地在其后添加許多字符來完成構(gòu)造,那么我們應(yīng)該使用 StringBuffer 對(duì)象和她的 append() 方法。如果我們用 String 對(duì)象代替 StringBuffer 對(duì)象的話,會(huì)花費(fèi)許多不必要的創(chuàng)建和釋放對(duì)象的 CPU 時(shí)間。 ● 避免太多的使用 synchronized 關(guān)鍵字 避免不必要的使用關(guān)鍵字 synchronized,應(yīng)該在必要的時(shí)候再使用她,這是一個(gè)避免死鎖的好方法。 可移植性Borland Jbulider 不喜歡 synchronized 這個(gè)關(guān)鍵字,如果你的斷點(diǎn)設(shè)在這些關(guān)鍵字的作用域內(nèi)的話,調(diào)試的時(shí)候你會(huì)發(fā)現(xiàn)的斷點(diǎn)會(huì)到處亂跳,讓你不知所措。除非必須,盡量不要使用。 ● 換行 如果需要換行的話,盡量用 println 來代替在字符串中使用'n'。 你不要這樣: System.out.print('Hello,world!n'); 要這樣: System.out.println('Hello,world!'); 或者你構(gòu)造一個(gè)帶換行符的字符串,至少要象這樣: String newline = System.getProperty('line.separator'); System.out.println('Hello world' + newline); ● PrintStream PrintStream 已經(jīng)被不贊成(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
標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 正定县| 乐陵市| 阜宁县| 江阴市| 康乐县| 霍林郭勒市| 抚远县| 六盘水市| 正宁县| 东乡县| 河北区| 绵竹市| 丰宁| 保康县| 白玉县| 斗六市| 苏尼特左旗| 五常市| 海宁市| 松江区| 富川| 伽师县| 麻栗坡县| 林芝县| 吴江市| 广宗县| 九龙县| 扬中市| 铜山县| 沁阳市| 张家口市| 遂溪县| 黔南| 灵武市| 大连市| 左云县| 个旧市| 茂名市| 卢氏县| 无棣县| 焦作市|