午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

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

瀏覽:169日期: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 等可以象其他語言的枚舉類型一樣使用的常量。 他們可以用 '==' 操作符來比較。 但是這樣使用有一個(gè)缺陷:如果一個(gè)用戶用這樣的方法來創(chuàng)建顏色 BLACK new Colour(0,0,0) 那么這就是另外一個(gè)對象,'=='操作符就會產(chǎn)生錯誤。她的 equal() 方法仍然有效。由于這個(gè)原因,這個(gè)技術(shù)的缺陷最好注明在文檔中,或者只在自己的包中使用。 Swing避免使用 AWT 組件 ● 混合使用 AWT 和 Swing 組件 如果要將 AWT 組件和 Swing 組件混合起來使用的話,請小心使用。實(shí)際上,盡量不要將他們混合起來使用。 ● 滾動的 AWT 組件 AWT 組件絕對不要用 JscrollPane 類來實(shí)現(xiàn)滾動。滾動 AWT 組件的時(shí)候一定要用 AWT ScrollPane 組件來實(shí)現(xiàn)。 ● 避免在 InternalFrame 組件中使用 AWT 組件 盡量不要這么做,要不然會出現(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)了以后。 ● 不必要的對象構(gòu)造 不要在循環(huán)中構(gòu)造和釋放對象。 使用 StringBuffer 對象: 在處理 String 的時(shí)候要盡量使用 StringBuffer 類,StringBuffer 類是構(gòu)成 String 類的基礎(chǔ)。String 類將 StringBuffer 類封裝了起來,(以花費(fèi)更多時(shí)間為代價(jià))為開發(fā)人員提供了一個(gè)安全的接口。當(dāng)我們在構(gòu)造字符串的時(shí)候,我們應(yīng)該用 StringBuffer 來實(shí)現(xiàn)大部分的工作,當(dāng)工作完成后將 StringBuffer 對象再轉(zhuǎn)換為需要的 String 對象。比如:如果有一個(gè)字符串必須不斷地在其后添加許多字符來完成構(gòu)造,那么我們應(yīng)該使用 StringBuffer 對象和她的 append() 方法。如果我們用 String 對象代替 StringBuffer 對象的話,會花費(fèi)許多不必要的創(chuàng)建和釋放對象的 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í)候你會發(fā)現(xiàn)的斷點(diǎn)會到處亂跳,讓你不知所措。除非必須,盡量不要使用。 ● 換行 如果需要換行的話,盡量用 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)文章:
主站蜘蛛池模板: xxxx操| 一区二区视频免费看 | 久久久综合网 | 久久精品久久久久久久 | 久久久久99精品成人片三人毛片 | 九九热在线观看视频 | 国产高清在线视频 | 婷婷综合色 | 亚洲欧美视频在线观看 | 久久不卡免费视频 | 国产精品一区二 | 国产伦精品一区二区三区免.费 | 色即是空4| 黄色99 | 夜夜精品视频 | 国产精品久久久久久免费免熟 | 超碰久草 | wwwxxx色| 色福利视频 | 午夜av一区 | 在线国产一区二区三区 | 麻豆久久久久 | 天天爽夜夜爽人人爽 | 欧美在线观看视频一区 | 亚洲精品观看 | 免费激情网 | 日本高清三区 | 四虎tv | 国产成人精 | 高清乱码免费看污 | 欧美视频一区二区在线 | 色姑娘综合网 | 欧美日韩在线一区二区 | 中文字幕在线日亚洲9 | 在线观看毛片网站 | av网站在线免费观看 | 久久精品国产亚洲7777 | 特级丰满少妇 | 国产视频网 | 一个色的综合 | 亚洲永久免费网站 |