優秀的Java程序員必須掌握的8項代碼編程技巧!

點關注,不迷路;持續更新Java架構相關技術及資訊熱文!!!

Java是目前最流行的編程語言之一——它能夠用來編寫Windows程序或者是Web應用,移動應用,網絡程序,消費電子產品,機頂盒設備,它無處不在。程序員

有超過30億的設備是運行在Java之上的。根據Oracle的統計數據,光是使用中的Java Card就有有50億。web

超過900萬程序員選擇使用Java進行開發,它是最受開發人員歡迎的語言,同時也是最流行的開發平臺。sql

此次小編給你們帶來的是幾個大神20多年的經驗總結出來的。我的感受最有用而又偏執的8項Java編程技巧。請看數據庫

一、爲代碼添加註釋

每一個人都知道這一點,但不是每一個人都會這麼作。你有多少次「忘記」添加註釋了?確實,註釋不會爲你的程序增長任何函數功能。可是,有多少次,看到2周前寫的代碼,你都記不起它是幹什麼的?編程

你很幸運,那些未註釋的代碼是你本身寫的,你腦海中還會有殘存的印象。很是不幸,大多時候,代碼是別人寫的,而且那我的極可能已經離開公司了。有句諺語說的好:「有來有往,互惠互利」,所以程序員應該體諒彼此,給你的代碼加上註釋。數組

二、不要發明你本身的框架

不誇張地講,已經有幾千個框架存在了,大多數仍是開源的。不少框架都是極完美的解決方案,並已被用到成千的系統中。咱們只要關注最新的流行的框架,至少表面上要熟悉一下。網絡

一個最成功的、也是被普遍使用的例子是Struts框架,這個開源的web框架是創建web系統的極佳選擇,不要試圖構造你本身的Struts版本,會累死的。但你必須記住第2條戒律 —— 不要把簡單事情複雜化。若是你要開發的系統只有3個界面,就不要用Struts. 對於這樣一個系統,沒有足夠的須要被「控制」的東西。架構

三、把字符串常量放在前面

經過把字符串常量放在比較函數equals()比較項的左側來防止偶然的 NullPointerException 歷來都不是一個壞主意,就像這樣:併發

這是毫無疑問的,把一種表達式轉換成另外一種更好的表達式,並不會失去什麼。只要咱們的Options是真實存在的。框架

四、不要相信早期的JDK APIs

Java剛出現的時候,編程必定是件很痛苦的事。那時的API仍然不夠成熟,你可能曾經遇到過這樣一段代碼:

看起來很奇怪對嗎?也許吧,可是看看這個Javadoc:「若是抽象路徑名錶示的不是一個目錄,那麼這個方法返回null。不然返回一個字符串數組,其中每一個字符串表示當前目錄下的一個文件或目錄。」

是的,最好再加上判空檢查,以確保正確:

糟糕!前者違反了Java編碼中10個微妙的最佳實踐的規則#5和#6。所以必定要記得判null檢查!

五、Drop to Frame

適用於調試階段。調試期間,能夠從新跳到調用堆棧框架的開始處執行,而且變量值也會回到最初。

根據回檔調整堆棧的深度,這個功能的主要用途是全部變量狀態能夠快速回到方法開始執行時候的樣子,而後你能夠從新進行一遍一遍執行,這樣就能夠在你關注的地方進行屢次調試,可是在執行過程當中也會產生一些反作用,好比插入到數據庫裏面的數據是沒法刪除的!

六、不要「硬編碼」

因爲時間緊迫,開發者老是會忘記或故意忽略這一條。然而另外一種多是,遵循這條戒律,咱們就不會陷入「時間緊迫」的困境。定義一個static final變量,增長一行代碼,又能花多長時間呢?譬如:

如今,每次須要比較字符串「ABC」與某個變量的時候,咱們只要引用 A.S_CONSTANT_ABC便可,而沒必要記住它自己是什麼。對這個常量的修改也很是方便,改一個地方便可,而沒必要在所有代碼中查找。

七、注意圖形用戶界面

論聽上去多荒謬,但有一點我注意過屢次了:圖形用戶界面對於商業用戶而言與程序功能及執行效率同樣重要。GUI對於應用程序的成功相當重要。

IT管理者經常忽略GUI的重要性,不少公司爲了省錢而不僱傭Web設計人員,而這些設計人員有足夠的經驗來設計「用戶友好」的應用軟件。 Java程序員不得不依賴他們有限的HMTL知識。我見過很是多對「計算機友好」而非對「用戶友好」的應用程序,同時精通軟件開發和用戶界面開發的開發者很是少見。 若是你是一位不幸被指派作界面開發的Java程序員,你要遵循下面3條規則:

八、全部的變量和參數都用final聲明

就像我說的。我不相信本身不會無心間重寫了某個值。這麼說來,個人確一點都不相信本身。由於:

這也是爲何全部的變量和參數都用final聲明的緣由。

固然,這些技巧對於有一些Java基礎的人來講是很是有用的,對於0基礎的朋友,仍是要從最基礎的學起,一步一個腳印跨越Java的高峯。

寫在最後

最後,歡迎作Java的工程師朋友們加入Java高級架構進階Qqun:963944895

羣內有技術大咖指點難題,還提供免費的Java架構學習資料(裏面有高可用、高併發、高性能及分佈式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構資料)

比你優秀的對手在學習,你的仇人在磨刀,你的閨蜜在減肥,隔壁老王在練腰, 咱們必須不斷學習,不然咱們將被學習者超越!

趁年輕,使勁拼,給將來的本身一個交代!

相關文章
相關標籤/搜索