国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

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

瀏覽:17日期: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 對枚舉的支持不好,但是下面的代碼是一種很有用的模板: 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 等可以象其他語言的枚舉類型一樣使用的常量。 他們可以用 '==' 操作符來比較。 但是這樣使用有一個缺陷:如果一個用戶用這樣的方法來創(chuàng)建顏色 BLACK new Colour(0,0,0) 那么這就是另外一個對象,'=='操作符就會產(chǎn)生錯誤。她的 equal() 方法仍然有效。由于這個原因,這個技術(shù)的缺陷最好注明在文檔中,或者只在自己的包中使用。 Swing避免使用 AWT 組件 ● 混合使用 AWT 和 Swing 組件 如果要將 AWT 組件和 Swing 組件混合起來使用的話,請小心使用。實(shí)際上,盡量不要將他們混合起來使用。 ● 滾動的 AWT 組件 AWT 組件絕對不要用 JscrollPane 類來實(shí)現(xiàn)滾動。滾動 AWT 組件的時候一定要用 AWT ScrollPane 組件來實(shí)現(xiàn)。 ● 避免在 InternalFrame 組件中使用 AWT 組件 盡量不要這么做,要不然會出現(xiàn)不可預(yù)料的后果。 ● Z-Order 問題 AWT 組件總是顯示在 Swing 組件之上。當(dāng)使用包含 AWT 組件的 POP-UP 菜單的時候要小心,盡量不要這樣使用。 調(diào)試調(diào)試在軟件開發(fā)中是一個很重要的部分,存在軟件生命周期的各個部分中。調(diào)試能夠用配置開、關(guān)是最基本的。 很常用的一種調(diào)試方法就是用一個 PrintStream 類成員,在沒有定義調(diào)試流的時候就為 null,類要定義一個 debug 方法來設(shè)置調(diào)試用的流。 性能● 在寫代碼的時候,從頭至尾都應(yīng)該考慮性能問題。這不是說時間都應(yīng)該浪費(fèi)在優(yōu)化代碼上,而是我們時刻應(yīng)該提醒自己要注意代碼的效率。比如:如果沒有時間來實(shí)現(xiàn)一個高效的算法,那么我們應(yīng)該在文檔中記錄下來,以便在以后有空的時候再來實(shí)現(xiàn)她。 不是所有的人都同意在寫代碼的時候應(yīng)該優(yōu)化性能這個觀點(diǎn)的,他們認(rèn)為性能優(yōu)化的問題應(yīng)該在項(xiàng)目的后期再去考慮,也就是在程序的輪廓已經(jīng)實(shí)現(xiàn)了以后。 ● 不必要的對象構(gòu)造 不要在循環(huán)中構(gòu)造和釋放對象。 使用 StringBuffer 對象: 在處理 String 的時候要盡量使用 StringBuffer 類,StringBuffer 類是構(gòu)成 String 類的基礎(chǔ)。String 類將 StringBuffer 類封裝了起來,(以花費(fèi)更多時間為代價)為開發(fā)人員提供了一個安全的接口。當(dāng)我們在構(gòu)造字符串的時候,我們應(yīng)該用 StringBuffer 來實(shí)現(xiàn)大部分的工作,當(dāng)工作完成后將 StringBuffer 對象再轉(zhuǎn)換為需要的 String 對象。比如:如果有一個字符串必須不斷地在其后添加許多字符來完成構(gòu)造,那么我們應(yīng)該使用 StringBuffer 對象和她的 append() 方法。如果我們用 String 對象代替 StringBuffer 對象的話,會花費(fèi)許多不必要的創(chuàng)建和釋放對象的 CPU 時間。 ● 避免太多的使用 synchronized 關(guān)鍵字 避免不必要的使用關(guān)鍵字 synchronized,應(yīng)該在必要的時候再使用她,這是一個避免死鎖的好方法。 可移植性Borland Jbulider 不喜歡 synchronized 這個關(guān)鍵字,如果你的斷點(diǎn)設(shè)在這些關(guān)鍵字的作用域內(nèi)的話,調(diào)試的時候你會發(fā)現(xiàn)的斷點(diǎn)會到處亂跳,讓你不知所措。除非必須,盡量不要使用。 ● 換行 如果需要換行的話,盡量用 println 來代替在字符串中使用'n'。 你不要這樣: System.out.print('Hello,world!n'); 要這樣: System.out.println('Hello,world!'); 或者你構(gòu)造一個帶換行符的字符串,至少要象這樣: 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)文章:
主站蜘蛛池模板: 精品中文字幕一区在线 | 国产美女精品一区二区三区 | 亚洲国产老鸭窝一区二区三区 | 在线久久 | 成人免费一级在线播放 | 黄色不卡视频 | 国产三级视频在线 | 欧美怡红院在线 | 国产成人福利视频在线观看 | 欧美yyy| 99久久99久久精品免费看子 | 97超频国产在线公开免费视频 | 波多野结衣手机视频一区 | 免费91最新地址永久入口 | 国产自在自线午夜精品视频在 | 精品视频在线视频 | 国产午夜精品久久理论片小说 | 成人毛片国产a | 亚洲欧美久久精品 | 久久综合免费视频 | 国产日韩欧美精品在线 | 看真人一级毛片 | 久草免费精品视频 | 国产精品亚洲一区二区在线观看 | 欧美一级片在线 | 欧美一级精品高清在线观看 | 国美女福利视频午夜精品 | 97超级碰碰碰免费公开在线观看 | a级一级毛片 | www.午夜| 日本在线亚洲 | 精品视频在线一区 | 美国三级毛片 | 欧美一级毛片在线一看 | 亚洲一级毛片中文字幕 | 欧美成人h版在线观看 | 国内精品小视频在线 | 中国老妇色xxxxx | 在线观看毛片网站 | 久久天天躁综合夜夜黑人鲁色 | 色屁屁一区二区三区视频国产 |