1
規範化自己的代碼,少點個人風格,多點通用規矩,並學會使用CheckStyle工具。
其實任何東西我們都希望它能夠“自動化”,隨着編程經驗的提升,大部分編程規範你已經瞭然於心,但是實際操作的時候,又總是忘這忘那,我們希望一個工具來幫我們自動檢測我們的程序是否是符合規範,結構良好的。
事實上,任何語言都是有自己的編程規範的,編程規範的制定,十分有利於代碼的閱讀和潛在Bug風險的降低,比如在Java中,有嚴格的命名規範:
對於類(Class)的命名,有這樣的規範:
類的名字必須是名詞,每個單詞的第一個字母需大寫。儘可能讓你的類名稱簡潔又能傳遞清楚含義。儘量使用單詞全拼,避免同義詞或縮寫(除非縮寫使用更廣泛,比如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
下載一個護眼寶,保護視力。
個人博客網站:https://programmerblog.xyz
本文分享自微信公衆號 - IT技術分享社區(gh_a27c0758eb03)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。