Java程式設計中,有哪些好的習慣從一開始就值得堅持?
來源:zhihu.com/question/32255673/answer/532272606
1. 規範化自己的程式碼,少點個人風格,多點通用規矩,並學會使用CheckStyle工具。
其實任何東西我們都希望它能夠“自動化”,隨著程式設計經驗的提升,大部分程式設計規範你已經瞭然於心,但是實際操作的時候,又總是忘這忘那,我們希望一個工具來幫我們自動檢測我們的程式是否是符合規範,結構良好的。
事實上,任何語言都是有自己的程式設計規範的,程式設計規範的制定,十分有利於程式碼的閱讀和潛在Bug風險的降低,比如在Java中,有嚴格的命名規範:
對於類(Class)的命名,有這樣的規範:
Class names should be nouns, in mixed case with the first letter of each internal word capitalized. Try to keep your class names simple and descriptive. Use whole words-avoid acronyms and abbreviations (unless the abbreviation is much more widely used than the long form, such as URL or HTML).
類的名字必須是名詞,每個單詞的第一個字母需大寫。儘可能讓你的類名稱簡潔又能傳遞清楚含義。儘量使用單詞全拼,避免同義詞或縮寫(除非縮寫使用更廣泛,比如URL, HTML等)。
比如在Java中,有嚴格的文件規範:
/**
* Returns an Image object that can then be painted on the screen.
* The url argument must specify an absolute {@link URL}. The name
* argument is a specifier that is relative to the url argument.
* <p>
* This method always returns immediately, whether or not the
* image exists. When this applet attempts to draw the image on
* the screen, the data will be loaded. The graphics primitives
* that draw the image will incrementally paint on the screen.
*
* @param url an absolute URL giving the base location of the image
* @param name the location of the image, relative to the url argument
* @return the image at the specified URL
* @see Image
*/
public Image getImage(URL url, String name) {
try {
return getImage(new URL(url, name));
} catch (MalformedURLException e) {
return null;
}
}
文件是用HTML語言寫成的,前半部分是關於當前方法或類的描述,後面需要有引數標籤@param和返回標籤@return,還可以加一些別的標籤,比如@see,只有這樣,當別人試圖引用你的程式時,才能馬上明白你的某段程式是用來幹嘛的,引數傳遞,返回等一目瞭然,要知道,實際工作中,大量的協作就意味著程式碼需要高度的重用性,你必須把你的程式封裝完美,並且讓別人僅僅看你的文件,就知道你的這個API怎麼用。
上面說的僅僅是程式設計規範的冰山一角了,問題是,你有時會忘掉或用錯一些規範,即便你知道它。
所以我們需要使用checkstyle外掛去自動檢測我們的程式是否符合規範。
對於Java而言,詳情請見:http://checkstyle.sourceforge.net/
Github地址:https://github.com/checkstyle/checkstyle
在各大JavaIDE中,可以直接在Eclipse Marketplace中下載:
其他的語言應該也有自己的外掛,可以自行谷歌瞭解。
2. 寧可變數名長,也不要讓變數名短得讓人無法推測其含義。
3. 在電腦裡安裝兩套輸入法,程式設計的時候,將中文輸入法徹底關掉,確保任何快捷鍵都不會將其轉換成中文輸入法,防止中文類似符號引起混淆,比如:
中文 :(); English: () ;
一點點小錯誤,就有可能讓你多花一兩個小時在沒有意義的事上,人生苦短,儘量避免低階錯誤。
4. 儘可能杜絕重複程式碼,凡是需要用至少兩次的程式碼,給它單獨做一個類或函式。
5. 避免類與類之間的內部呼叫(Cycle Reference),其實也就是降低函式模組的耦合程度。類與類之間的呼叫只允許通過介面,保證更改某個類的時候,其他的仍然能工作。
6. 多讀別人的優秀程式碼,拿別人的優秀程式碼和自己的程式碼進行對比,學習別人的長處,吸收經驗。
7. 嘗試著做內容的生產者,嘗試著寫一些教程或筆記,分享給社群,不要只做社群內容的吸收者,還要不斷地生產內容,回饋社群給你的幫助,比如在StackOverFlow上回答別人的問題等。
8. 既要腳踏實地,也要多看看社群發生了什麼新聞,有什麼新的技術和軟體的釋出,這些技術和軟體將怎樣影響你的開發工作,現在使用的IDE或Editor是否有更好的替代產品等等。
9. 沒有任務的時候,也不要閒下來,去開發點你喜歡的東西,從中挑戰自己,增長經驗。
10. 不要過分依賴教程,要學會看官方文件。凡是能被做成教程的東西,往往已經過時了,最新的技術,最新發布的標準,往往沒有現成的教程,你需要去認真閱讀官方文件,那裡的東西才是最權威的。
11. 不要參與語言好壞的爭論,人們往往偏向於喜歡自己用得熟練,用得多的那個語言,語言好壞之爭,就和爭誰的女朋友漂亮一樣,我當然覺得自己的女朋友(雖然是null)最漂亮,但是別人並不這麼覺得。
12. 當你有什麼需求的時候,往往別人也有這個需求,而且往往也有了相應的工具去解決你這個需求,比如,你想將函式的呼叫關係視覺化,弄成樹狀圖那樣,這樣的工具已經有了,比如SourceInsight(付費),Source Navigator(免費)等。
13. 少在國內的XX軟體園裡下載各種破解軟體,盜版軟體等,這些軟體園為了盈利,會在你安裝的過程中,悄無聲息地給你安裝上一堆其他的流氓軟體,360首當其衝,這些垃圾軟體,刪的越乾淨越好。
14. 你的開發電腦,CPU可以差些,但記憶體最好大些,推薦至少要8G,甚至推薦10G往上走,你常常需要同時開啟一堆瀏覽器頁面和一個IDE甚至還有別的一堆工具,如果你做過安卓開發,AndroidStudio動輒就呼叫你電腦2-3G的記憶體,一般的4G電腦肯定是吃不消的,嚴重降低開發體驗,但也並不是讓你換電腦,記憶體條瞭解一下。
15. 保持一個健康,乾淨的電腦狀態,硬碟裡的檔案儲存要有調理,容易尋找指定檔案,降低檔案丟失概率,加快檔案尋找速度。
16. C盤快滿了的話,可以通過Disk Manager將別的磁碟的空間送給C盤。
17. 用NetWork NotePad畫網路圖表示函式呼叫關係(當然你可以用別的來畫),像這樣:
這是前兩天編一個FlappyBird時草草畫的圖,雖然簡陋,但有用。
18. 可以考慮用一個電腦架子,防止烏龜頸,保護頸椎。
19. 下載一個護眼寶,保護視力。
20. 多看Java團長公眾號裡的文章,但不要做一個不點讚的冷漠青年。
(完)
Java團長
專注於Java乾貨分享
掃描上方二維碼獲取更多Java乾貨
相關文章
- 程式設計中,有哪些好的習慣一開始就值得堅持?程式設計
- 堅持一個好習慣該有多難?
- 谷歌程式設計師有哪些高效的程式設計習慣?谷歌程式設計師
- 程式設計好習慣程式設計
- 程式設計師的10個好習慣程式設計師
- 堅持就會有回報
- 學習程式設計從遊戲開始程式設計遊戲
- 大資料技術學習路線,有信心能堅持學習的朋友,從現在開始吧大資料
- 學習Python程式設計開發可以從事的崗位有哪些?Python程式設計
- 10個程式設計好習慣:優秀程式設計師的經驗分享程式設計師
- JAVA程式設計習慣之equals對比Java程式設計
- 從零開始的Java程式設計之抽象與介面Java程式設計抽象
- TGDC | 一個遊戲程式設計師的堅持 —— 論向量化程式設計遊戲程式設計師
- 風變程式設計,幫助你從零開始學習程式設計程式設計
- 學習Java程式設計培訓的書籍有哪些Java程式設計
- 學習web前端誤區有哪些-好程式設計師Web前端程式設計師
- java從零開始系列-一個前端程式設計師的自我修養Java前端程式設計師
- 好程式設計師Java培訓分享Java效能常見命令有哪些程式設計師Java
- 風變程式設計:互動式學習,更容易堅持!程式設計
- 好程式設計師Java培訓分享學習Java需要哪些基礎程式設計師Java
- 女生學程式設計有哪些好處呢?程式設計
- 程式設計師的35個壞習慣,你有幾條?程式設計師
- 有哪些excel的好習慣,能幫你在工作時偷懶?Excel
- 好程式設計師Java分享JVM從哪方面入手學習程式設計師JavaJVM
- Redis有哪些開發設計規範值得我們注意的!Redis
- 入門學習ui設計就業方向有哪些?UI就業
- 學web前端從哪裡開始學起呢-好程式設計師Web前端程式設計師
- 有前(錢)途的程式設計師的14個習慣,你有幾個?程式設計師
- 高效程式設計師的七個習慣程式設計師
- Python程式設計的16個壞習慣Python程式設計
- 對 SAP UI5 一無所知的新手,從哪些材料開始學習比較好?UI
- 高效工作,這些習慣你值得擁有!
- 好程式設計師大資料培訓分享大資料就業方向有哪些?程式設計師大資料就業
- 好程式設計師Java學習路線分享Java中的位移運算程式設計師Java
- 注重程式碼習慣,Python零基礎從這本書籍開始!Python
- 《賽博朋克2077》UI設計有哪些值得學習和反思的地方?UI
- Java程式設計工具有哪些比較好用?常用的有哪些?Java程式設計
- FPGA程式設計從零開始 使用VerilogFPGA程式設計