標籤:style blog http 使用 strong 檔案
最近在一個網站上看到一篇寫關於軟體開發人員應該有的幾項實踐,感覺寫的非常的好。下面將列舉下文章中提到的幾個方面。
首先文章中提出,軟體開發人員需要不斷的練習,什麼是練習,為什麼要練習,練習意味著什嗎?文章中給出了很好的解讀。練習是一種習慣,練習是一個過程,練習並不意味著記住,練習需要不斷的實踐,練習需要專心致志的付出。射擊運動員需要不斷的練習才能射中更多的分數,開車也需要不斷的練習才能成為driver,寫字需要不斷的練習才能寫出好的字,然後才有可能成為書法家。
Shooting, Driving, Writing
Best Practice 1- Keep Reading Existing Software SourceCode
大家會經常讀好的開源軟體的代碼嗎?也許會被認為是一件很枯燥的事情。小說家之所以成為小說家,是經過閱讀成千上百優秀的小說才成為小說家,所以要寫出優秀的代碼也需要閱讀成千上萬行的代碼。
Best Practice 2 - Complete your documents before next step
在開發大型的軟體中,分析文檔非常重要,只有把要分析的東西都弄清楚了,才能進行下一步的開發。在開發之前,我們需要問自己下面這幾個問題:
- 1.軟體的需求描述在哪裡?
- 2.軟體設計文檔在哪裡?
- 3.是否對所有的假設和限制條件描述清楚了?
- 4.你是否評審完所有的文檔?
…
如果你對上面的問題回答都是肯定的,你可以進行下一步的操作,Coding,許多公司都有一套完整的開發流程來保證各個環節的正確實施。
Best Practice 3 - Follow the defined standards, don‘tcreate it
在軟體開發過程中,需要遵循已有的標準,不要隨便地創造自己的風格。在這點上,許多公司有自己的編程標準,這些標準可能是業界公認的,也有可能是前面開發人員經過好多年總結的比較好的實踐。有一句話說的很好,追隨前人的腳印,往往可以少走一些彎路。這些標準可能包括下面的幾種:
檔案命名規範,函數和模組命名規範,變數命名規範,可讀性及其安全性規範等。
乾淨、整齊一致、漂亮是原始碼可讀性和可理解非常重要的特徵,我們要記住一句話:Source code is your baby.
Best Practice 4 - Code should be written to be reviewed.
可讀性往往是來源程式好壞最直觀的體現。在我們寫代碼的時候,我們要時刻記住自己寫的代碼總會有人來評審,將面臨的各種缺陷,比如:不好的編碼風格,沒有遵循標準,函數定義和注釋不規範,可讀性差,開啟的檔案沒有關閉,分配的記憶體沒有釋放,太多的全域變數,太多的寫入程式碼,太多重複代碼等。在編碼的時候要時刻記住上面的問題,當自己完成編碼時,至少自己需要檢查一遍,這往往能減少90%的錯誤。
我非常喜歡一句話:Accept criticism but don‘t criticize!當自己寫的代碼比較爛的時候,我們要接受同行評審中指出的問題,別人給自己指出來並不意味著批評,而是更好的改進自己,再後面少犯錯誤。其實Review也是開發過程中一個至關重要的環節。作為一個開發人員,也需要站在測試者的角度去看待問題,這樣就可以減少錯誤的發生。
Best Practice 5 - Testing to be followed like a religion.
每次寫完代碼都需要測試,不管是有經驗的開發人員還是新手,每修改一處代碼需要經過測實驗證。我們必須做到:
- 時間再緊急對於測試也不要妥協
- 修改一行注釋得測試
- 修改一個變數名得測試。
- 如果你覺得沒有必要,那是非常危險的。
Best Practice 6 - Keep your Code and Documents Safely.
這點主要是防止代碼和文檔丟失,需要我們養成每天備份文檔的習慣。也許大家都覺得比較繁瑣,建議可以使用日期、時間、版本號碼來備份。
Best Practice 7 - Keep your Tools & Techniques Handy
俗話說的好,工欲善其事,必先利其器。同樣對於開發人員來說,好的工具和技巧能提高我們的效率還能減少出錯的幾率。比如:
- 1.用一個好的編輯工具來編寫和修改代碼
- 2.用一個好的調試器來調試代碼
- 3.用一個記憶體監視器來動態分配的記憶體
- 4.用WinSCP or FileZilla 來傳輸檔案。
Best Practice 8 -Leave the ego behind, Be eager to learn.
這一點我覺得也比較重要,我們經常從書本和網上擷取知識,但是對於IT,沒有任何一個人能掌握任何一個領域的所有的知識,每天我們將面臨著各種各樣的問題。為了讓自己不落後需要經常去學習。
New technologies are coming everyday
也許成功的道路上沒有捷徑,需要百倍的努力才有可能成功。今天你付出了一點,也就離成功的道路近一點。