Java是目前最流行的程式設計語言之一——它可以用來編寫Windows程式或者是Web應用,移動應用,網絡程式,消費電子産品,機頂盒裝置,它無處不在。
有超過30億的裝置是運作在Java之上的。根據Oracle的統計資料,光是使用中的Java Card就有有50億。
超過900萬程式員選擇使用Java進行開發,它是最受開發人員歡迎的語言,同時也是最流行的開發平台。
歡迎加入Java進階架構進階Qqun:963944895,私聊管理者免費領取Java架構學習視訊、Java最新面試題、Java程式設計書籍
這次小編給大家帶來的是幾個大神20多年的經驗總結出來的。個人感覺最有用而又偏執的8項Java程式設計技巧。請看
1、為代碼添加注釋
每個人都知道這一點,但不是每個人都會這麼做。你有多少次“忘記”添加注釋了?确實,注釋不會為你的程式增加任何函數功能。但是,有多少次,看到2周前寫的代碼,你都記不起它是幹什麼的?
你很幸運,那些未注釋的代碼是你自己寫的,你腦海中還會有殘存的印象。非常不幸,大多時候,代碼是别人寫的,并且那個人很可能已經離開公司了。有句諺語說的好:“有來有往,互惠互利”,是以程式員應該體諒彼此,給你的代碼加上注釋。
歡迎加入Java進階架構進階Qqun:963944895,私聊管理者免費領取Java架構學習視訊、Java最新面試題、Java程式設計書籍
2、不要發明你自己的架構
不誇張地講,已經有幾千個架構存在了,大多數還是開源的。很多架構都是極完美的解決方案,并已被用到成千的系統中。我們隻要關注最新的流行的架構,至少表面上要熟悉一下。
一個最成功的、也是被廣泛使用的例子是Struts架構,這個開源的web架構是建立web系統的極佳選擇,不要試圖構造你自己的Struts版本,會累死的。但你必須記住第2條戒律 —— 不要把簡單事情複雜化。如果你要開發的系統隻有3個界面,就不要用Struts. 對于這樣一個系統,沒有足夠的需要被“控制”的東西。
3、把字元串常量放在前面
通過把字元串常量放在比較函數equals()比較項的左側來防止偶然的 NullPointerException 從來都不是一個壞主意,就像這樣:
這是毫無疑問的,把一種表達式轉換成另一種更好的表達式,并不會失去什麼。隻要我們的Options是真實存在的。
4、不要相信早期的JDK APIs
Java剛出現的時候,程式設計一定是件很痛苦的事。那時的API仍然不夠成熟,你可能曾經遇到過這樣一段代碼:
看起來很奇怪對嗎?也許吧,但是看看這個Javadoc:“如果抽象路徑名表示的不是一個目錄,那麼這個方法傳回null。否則傳回一個字元串數組,其中每個字元串表示目前目錄下的一個檔案或目錄。”
是的,最好再加上判空檢查,以確定正确:
糟糕!前者違反了Java編碼中10個微妙的最佳實踐的規則#5和#6。是以一定要記得判null檢查!
5、Drop to Frame
适用于調試階段。調試期間,可以重新跳到調用堆棧架構的開始處執行,并且變量值也會回到最初。
根據回檔調整堆棧的深度,這個功能的主要用途是所有變量狀态可以快速回到方法開始執行時候的樣子,然後你可以重新進行一遍一遍執行,這樣就可以在你關注的地方進行多次調試,但是在執行過程中也會産生一些副作用,比如插入到資料庫裡面的資料是無法删除的!
6、不要“寫死”
由于時間緊迫,開發者總是會忘記或故意忽略這一條。然而另一種可能是,遵循這條戒律,我們就不會陷入“時間緊迫”的困境。定義一個static final變量,增加一行代碼,又能花多長時間呢?譬如:
現在,每次需要比較字元串“ABC”與某個變量的時候,我們隻要引用 A.S_CONSTANT_ABC即可,而不必記住它本身是什麼。對這個常量的修改也非常友善,改一個地方即可,而不必在全部代碼中查找。
7、注意圖形使用者界面
論聽上去多荒謬,但有一點我注意過多次了:圖形使用者界面對于商業使用者而言與程式功能及執行效率一樣重要。GUI對于應用程式的成功至關重要。
IT管理者常常忽略GUI的重要性,很多公司為了省錢而不雇傭Web設計人員,而這些設計人員有足夠的經驗來設計“使用者友好”的應用軟體。 Java程式員不得不依賴他們有限的HMTL知識。我見過非常多對“計算機友好”而非對“使用者友好”的應用程式,同時精通軟體開發和使用者界面開發的開發者非常少見。 如果你是一位不幸被指派做界面開發的Java程式員,你要遵循下面3條規則:
8、所有的變量和參數都用final聲明
就像我說的。我不相信自己不會無意間重寫了某個值。這麼說來,我的确一點都不相信自己。因為:
這也是為什麼所有的變量和參數都用final聲明的原因。
當然,這些技巧對于有一些Java基礎的人來說是非常有用的,對于0基礎的朋友,還是要從最基礎的學起,一步一個腳印跨越Java的高峰。
點關注,不迷路;持續更新Java架構相關技術及資訊熱文!!!