程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 在Java中定義自己的工具庫

在Java中定義自己的工具庫

編輯:關於JAVA

一個有經驗的Java程序人員往往會把一些常用的語句定義成一種工具,然後把其放在自己的工具庫中。不知道大家有沒有這麼操作的習慣,反正筆者的工具庫中,已經有上百個工具了。憑借這這些工具,給筆者開發Java應用程序提供了很大的方便。即可以不用擔心重名導致的沖突,而且還可以簡化輸入,一舉兩得。為此筆者在這裡大力推薦,Java程序員要從現在開始建立自己的工具庫,並在以後工作中不斷的完善它。

一、 工具庫的一個簡單例子。

記得筆者剛開始建立工具庫的時候,是從一個輸出語句開始的。有時候Java程序開發人員需要在程序代碼中加入輸出語句。如出於調試的需要臨時增加輸出語句,用來判斷運算結果的准確性;如有時為了加強同用戶的互動性,在用戶輸入參數之前需要向屏幕中輸出一些提示性的語句等等。而要實現這個目的的話,在JAVA程序中是通過print方法或者println方法實現的。兩者的差異主要在於是否要換行。但是在Java程序中調用這兩個方法的話,前面要加一大堆的前綴。如調用這個兩個方法,要把下面的代碼寫全,即為System.out.print();以及System.out.println()。顯然為了輸出一串信息,要收入這麼長的代碼,在輸入的時候工作量比較大。而且需要注意的是,這裡的System單詞中S必須大寫。對於一些剛接觸Java程序的新手來說,剛開始往往把S寫成了小寫的s,結果就出現了語法錯誤。特別是在一個JAVA代碼中,需要頻繁的用到這個方法。為此使用起來比較不方便。那麼有沒有更加簡單的方法呢?其實Java程序開發人員完全可以把這些方法加入到自己的工具庫中,來簡化輸入的方法。而且還不用擔心會因為重名而導致的沖突。如大家可以安裝如下的方式來將這個方法定義到自己的工具庫中。

如此定義之後,下次在需要向屏幕中輸出內容的時候,只需要按如下的方法來調用即可,如PR.pln()或者PR.p()即可。兩者的差異就在於是否需要換行打印。這比直接調用原先的輸出命令要簡單的多。這只是一個最簡單的例子。其實Java程序員還可以豐富這個屏幕輸出命令。如可以在輸出提示信息之前,加入“******”類似的移行內容,以表示強調或者格式化輸出的內容。這些都可以在這個工具中定義好。如此的話,下次需要實現這個需求的時候,可以直接拿來使用。而不需要再寫多個代碼來實現。

二、 定義工具庫要選擇一個好的工具庫名字。

像上面這樣定義Java程序人員自己工具庫的時候,需要取一個好的工具庫名字。其實取這個工具庫名字的時候,可能比取人的名字更要有講究。為什麼這麼說呢?因為當你出名的時候,這個工具庫可能不僅僅是你自己在用,有可能項目團隊中別的程序開發人員也會使用你的工具庫。特別是當你作為項目團隊負責人的時候,這種情況就很常見了。你必須無私的把這個工具庫共享出來,以提高程序的開發效率。同時也可以增加你的威信。這對於你作項目負責人的這個角色很有幫助。所以這個工具庫名字命名的時候,就很有講究。具體來說,最好能夠做到如下幾點。

首先,最好Java程序開發人員在制作這個工具庫之前,能先花點小錢去申請一個域名。這主要是為了保證你工具庫庫名字的唯一性。因為有時候在開發的時候,你的工具庫可能別人在使用;而你也可能會使用別人開發的工具庫。但是,很有可能在這個過程中會因為重名而導致沖突。而花點小錢去申請一個域名,然後利用這個域名來對這個工具庫進行命名,顯然能夠保證工具庫名字的唯一。如上面這個例子中,筆者采用的就是域名(反過來寫)+tool作為工具庫的名字。由於域名是唯一的,所以後面加上一個tool也是唯一的。如果大家都能夠遵守這個規則的話,就不會導致命名的沖突。而且,這個命名方法還可以順便用來宣傳自己。如果大家覺得你的工具包不錯,就會根據工具包的名字,找到你的網站。這就好像是在發郵件的時候采用簽名一樣,是一種宣傳自己的很好工具。

其次,需要注意一個書寫的規范。在定義工具包名前面有一個關鍵字package,注意通常情況下這個關鍵字要小寫,這是一個強制性的規定。另外,工具包的名字也最好小寫。雖然采用大寫的名字,也不違反語法約束,可以正常編譯。但是最好還是采用小寫。因為這個就好像是一個行業的規范。雖然沒有法律性的約束力,而主要是一種道德上的約束力。Java程序人員要融入這個大圈子,這些行業性的約束也要遵守。不然的話,人家會排斥你,甚至會把你當作菜鳥看。為此筆者再強調一次,在定義工具名字的時候,包括關鍵字、域名、具體名字,都必須要小寫。

第三,在後續的工作中,Java程序開發人員可以不斷的完善這個工具庫。如以後Java程序人員開發了一個從特定服務器中獲取系統時間的工具。其實,這個工具很有用。如在ERP系統中,要確保個個客戶端的時間與服務器的時間同步,否則的話,一些客戶端上做的一些計劃性任務可能無法正常執行。為此,就需要客戶端使用的是服務器端上的系統時間,而不是客戶端上的系統時間。因為除非客戶端上的系統時間也是跟某台時間服務器同步,否則的話無法保證各個客戶端的時間一直。而現在利用這個工具,去獲取ERP服務器端的系統時間,就可以保證各個客戶端時間的一致性。即使ERP服務器端的時間有錯誤,也不影響後續的作業。因為各個客戶端的時間跟服務器是同步的。既然這個工具這麼重要,而且需要頻繁的使用,那麼當然有必要將其加入到自己的工具庫中了。此時,Java程序開發人員只需要在源代碼文件的開頭,加入package com.abc.tool即可。在編譯的時候,解釋其看到這個包名的定義,如果系統中已經有這個工具包,就會直接將這個工具加入到現有的工具包中。如果沒有這個工具包的話,則會新建一個工具包。所以Java程序開發人員不需要一次性建立好工具包,而是可以在後續的工作中日益的完善。

三、 取一個簡單而容易理解的方法名。

如果按照上面的方法建立了一個工具包之後,如果Java程序員需要調用這個工具包中的方法,該怎麼進行呢?其實跟調用其它的系統方法一樣。首先,需要在源代碼的開頭位置,使用import關鍵字將這個工具包“導入”到當前的文件中。然後可以采用類名+方法名的方式來進行飲用。如上面這個例子,程序開發人員就可以直接使用PR.P來調用系統的print方法。而原先的話,則需要使用System.out.print(s)命令。顯然采用自己定義的工具包,可以在很大程度上簡化輸入。

那麼這個簡化輸入的效果到底有多大呢?這主要還是跟程序開發人員的命名習慣有關。如果程序開發人員能夠取一個簡單而容易理解的類名與方法名的話,那麼簡化輸入的效果就會很明顯。如上面就采用幾個簡單的字母就可以完成。相反,如果取的名字比較長的話,那麼命令輸入起來仍然會很麻煩。其次就是這個名字要容易理解。如果都是采用沒有具體含義的字母,那麼當工具包中類或者方法一多的話,可能就連程序開發人員自己都不知道這個工具的用途了。所以,在給類或者方法命名的時候,要簡單而且容易記憶,如可以使用原有方法的簡寫等等。另外需要注意的是,在建立自己工具包的時候,最好能夠最一份詳細的說明書。因為以後你若做項目管理員的時候,可能你手下的成員需要用到你的工具包。此時這份說明書對他們來說就是最好的資料了。

總之,自定義工具包是程序開發人員提高開發效率的一個很好的幫手,也是Java應用程序的特性之一。希望各位同行能夠好好利用這個工具,來提高自己的能力。同時也要學會使用他人開發的工具包,這也是迅速提高自己開發能力的一個捷徑。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved