標籤:style blog http 使用 io strong 檔案 for ar
近期在一個網站上看到一篇寫關於軟體開發人員應該有的幾項實踐,感覺寫的很的好。以下將列舉下文章中提到的幾個方面。
首先文章中提出,軟體開發人員須要不斷的練習,什麼是練習,為什麼要練習,練習意味著什嗎?文章中給出了非常好的解讀。練習是一種習慣,練習是一個過程,練習並不意味著記住,練習須要不斷的實踐,練習須要專心致志的付出。射擊運動員須要不斷的練習才幹射中很多其它的分數,開車也須要不斷的練習才幹成為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
或許成功的道路上沒有捷徑,須要百倍的努力才有可能成功。今天你付出了一點,也就離成功的道路近一點。
軟體開發人員的最佳實務