新聞中心
Java是目前***的編程語(yǔ)言之一——它可以用來(lái)編寫(xiě)Windows程序或者是Web應(yīng)用,移動(dòng)應(yīng)用,網(wǎng)絡(luò)程序,消費(fèi)電子產(chǎn)品,機(jī)頂盒設(shè)備,它無(wú)處不在。

有超過(guò)30億的設(shè)備是運(yùn)行在Java之上的。根據(jù)Oracle的統(tǒng)計(jì)數(shù)據(jù),光是使用中的Java Card就有有50億。
超過(guò)900萬(wàn)程序員選擇使用Java進(jìn)行開(kāi)發(fā),它是最受開(kāi)發(fā)人員歡迎的語(yǔ)言,同時(shí)也是***的開(kāi)發(fā)平臺(tái)。
這次小編給大家?guī)?lái)的是幾個(gè)大神20多年的經(jīng)驗(yàn)總結(jié)出來(lái)的。個(gè)人感覺(jué)最有用而又偏執(zhí)的8項(xiàng)Java編程技巧。請(qǐng)看
1、為代碼添加注釋
每個(gè)人都知道這一點(diǎn),但不是每個(gè)人都會(huì)這么做。你有多少次“忘記”添加注釋了?確實(shí),注釋不會(huì)為你的程序增加任何函數(shù)功能。但是,有多少次,看到2周前寫(xiě)的代碼,你都記不起它是干什么的?
你很幸運(yùn),那些未注釋的代碼是你自己寫(xiě)的,你腦海中還會(huì)有殘存的印象。非常不幸,大多時(shí)候,代碼是別人寫(xiě)的,并且那個(gè)人很可能已經(jīng)離開(kāi)公司了。有句諺語(yǔ)說(shuō)的好:“有來(lái)有往,互惠互利”,因此程序員應(yīng)該體諒彼此,給你的代碼加上注釋。
2、不要發(fā)明你自己的框架
不夸張地講,已經(jīng)有幾千個(gè)框架存在了,大多數(shù)還是開(kāi)源的。很多框架都是極***的解決方案,并已被用到成千的系統(tǒng)中。我們只要關(guān)注***的流行的框架,至少表面上要熟悉一下。
一個(gè)最成功的、也是被廣泛使用的例子是Struts框架,這個(gè)開(kāi)源的web框架是建立web系統(tǒng)的***選擇,不要試圖構(gòu)造你自己的Struts版本,會(huì)累死的。但你必須記住第2條戒律 —— 不要把簡(jiǎn)單事情復(fù)雜化。如果你要開(kāi)發(fā)的系統(tǒng)只有3個(gè)界面,就不要用Struts. 對(duì)于這樣一個(gè)系統(tǒng),沒(méi)有足夠的需要被“控制”的東西。
3、把字符串常量放在前面
通過(guò)把字符串常量放在比較函數(shù)equals()比較項(xiàng)的左側(cè)來(lái)防止偶然的 NullPointerException 從來(lái)都不是一個(gè)壞主意,就像這樣:
這是毫無(wú)疑問(wèn)的,把一種表達(dá)式轉(zhuǎn)換成另一種更好的表達(dá)式,并不會(huì)失去什么。只要我們的Options是真實(shí)存在的。
4、不要相信早期的JDK APIs
Java剛出現(xiàn)的時(shí)候,編程一定是件很痛苦的事。那時(shí)的API仍然不夠成熟,你可能曾經(jīng)遇到過(guò)這樣一段代碼:
看起來(lái)很奇怪對(duì)嗎?也許吧,但是看看這個(gè)Javadoc:“如果抽象路徑名表示的不是一個(gè)目錄,那么這個(gè)方法返回null。否則返回一個(gè)字符串?dāng)?shù)組,其中每個(gè)字符串表示當(dāng)前目錄下的一個(gè)文件或目錄。”
是的,***再加上判空檢查,以確保正確:
糟糕!前者違反了Java編碼中10個(gè)微妙的***實(shí)踐的規(guī)則#5和#6。因此一定要記得判null檢查!
5、Drop to Frame
適用于調(diào)試階段。調(diào)試期間,可以重新跳到調(diào)用堆??蚣艿拈_(kāi)始處執(zhí)行,并且變量值也會(huì)回到最初。
根據(jù)回檔調(diào)整堆棧的深度,這個(gè)功能的主要用途是所有變量狀態(tài)可以快速回到方法開(kāi)始執(zhí)行時(shí)候的樣子,然后你可以重新進(jìn)行一遍一遍執(zhí)行,這樣就可以在你關(guān)注的地方進(jìn)行多次調(diào)試,但是在執(zhí)行過(guò)程中也會(huì)產(chǎn)生一些副作用,比如插入到數(shù)據(jù)庫(kù)里面的數(shù)據(jù)是無(wú)法刪除的!
6、不要“硬編碼”
由于時(shí)間緊迫,開(kāi)發(fā)者總是會(huì)忘記或故意忽略這一條。然而另一種可能是,遵循這條戒律,我們就不會(huì)陷入“時(shí)間緊迫”的困境。定義一個(gè)static final變量,增加一行代碼,又能花多長(zhǎng)時(shí)間呢?譬如:
現(xiàn)在,每次需要比較字符串“ABC”與某個(gè)變量的時(shí)候,我們只要引用 A.S_CONSTANT_ABC即可,而不必記住它本身是什么。對(duì)這個(gè)常量的修改也非常方便,改一個(gè)地方即可,而不必在全部代碼中查找。
7、注意圖形用戶界面
論聽(tīng)上去多荒謬,但有一點(diǎn)我注意過(guò)多次了:圖形用戶界面對(duì)于商業(yè)用戶而言與程序功能及執(zhí)行效率一樣重要。GUI對(duì)于應(yīng)用程序的成功至關(guān)重要。
IT管理者常常忽略GUI的重要性,很多公司為了省錢(qián)而不雇傭Web設(shè)計(jì)人員,而這些設(shè)計(jì)人員有足夠的經(jīng)驗(yàn)來(lái)設(shè)計(jì)“用戶友好”的應(yīng)用軟件。 Java程序員不得不依賴他們有限的HMTL知識(shí)。我見(jiàn)過(guò)非常多對(duì)“計(jì)算機(jī)友好”而非對(duì)“用戶友好”的應(yīng)用程序,同時(shí)精通軟件開(kāi)發(fā)和用戶界面開(kāi)發(fā)的開(kāi)發(fā)者非常少見(jiàn)。 如果你是一位不幸被指派做界面開(kāi)發(fā)的Java程序員,你要遵循下面3條規(guī)則:
8、所有的變量和參數(shù)都用final聲明
就像我說(shuō)的。我不相信自己不會(huì)無(wú)意間重寫(xiě)了某個(gè)值。這么說(shuō)來(lái),我的確一點(diǎn)都不相信自己。因?yàn)椋?/p>
這也是為什么所有的變量和參數(shù)都用final聲明的原因。
當(dāng)然,這些技巧對(duì)于有一些Java基礎(chǔ)的人來(lái)說(shuō)是非常有用的,對(duì)于0基礎(chǔ)的朋友,還是要從最基礎(chǔ)的學(xué)起,一步一個(gè)腳印跨越Java的高峰。
分享文章:優(yōu)秀的Java程序員須掌握的8項(xiàng)編程技巧!對(duì)這行有興趣的要注意了
當(dāng)前網(wǎng)址:http://m.fisionsoft.com.cn/article/dppcpgs.html


咨詢
建站咨詢
