如何寫出可優秀的代碼

        作爲程序員,寫代碼是需要一種崇高無上的精神來支撐的,寫出優秀的代碼,更需要你有深厚的底蘊和良好的編碼習慣。我們先來探討一下什麼樣的代碼纔是優秀的代碼。

1、穩定可靠(Robustness)
2、可維護且簡潔(Maintainable and Simple Code)
3、高效(Fast)
4、簡短(Small)
5、共享性(Reusable)
6、可測試性(Testable)
7、可移植性(Portable)

面對以上的目標,我們總結了以下10個寫代碼的技巧,希望對你有所幫助。

1、百家之長歸我所有(站到巨人的肩膀上
       其實寫代碼的方式有很多,每個人都有自己的風格,但是衆多的風格中總有一些共性的、基本的寫代碼的風格,如爲程序寫註釋、代碼對齊等等。是不是編程規範?對就是編程規範。

2、取個好名字(有意義)
       取個好的函數名、變量名,最好按照一定的規則起名。還是編程規範。

3、凌波微步,未必摔跤
       這裏我用“凌波微步”來形容goto語句。通常,goto語句使程序跳來跳去,不容易讀,而且不能優化,但是在某種情況下,goto語句反而可以增強程序的可讀性。Just go ahead,not go back。

4、先發制人,後發制於人
       Defensive Coding指一些可能會出錯的情況,如變量的初始化等,要考慮到出現錯誤情況下的處理策略。測試時要多運行幾個線程。有些程序在一個線城下運行是正常的,但是在多個線程並行運行時就會出現問題;而有些程序在一個CPU運行幾個線程是正常的,但是在多個CPU下運行時就會出現問題,因爲單CPU運行線程只是狹義的並行,多CPU一起運行程序,纔是真正的並行運算。

5、見招拆招,滴水不漏
       這裏的Error Case(錯誤情況),是指那些不易重視的錯誤。如果不對Error Case進行處理,程序在多數情況下不會出錯,但是一旦出現異常,程序就會崩潰。

6、熟習劍法刀術,所向無敵(沒事的時候多看API
       用“劍法刀術”來形容一些API是因爲它們都是經過了很多優秀開發人員的不斷開發、測試,其效率很高,而且簡潔易懂,希望大家能掌握它,熟悉它,使用它。是不是象我們的ULIB。

7、雙手互搏,無堅不摧
       這裏的測試不是指別人來測試你的代碼,而是指自己去測試。因爲你是寫代碼的原作者,對代碼的瞭解最深,別人不可能比你更瞭解,所以你自己在測試時,可以很好地去測試哪些邊界條件,以及一些意向不到的情況。

8、活用斷言
       斷(assertion)是個很好的調試工具和方法,希望大家能多用斷言,但是並不是所有的情況下都可以用到斷。有些情況使用斷反而不合適。

9、草木皆兵,不可大意
       是指在寫代碼時,要小心一些輸入的情況,比如輸入文件、TCP的sockets、函數的參數等等,不要認爲使用我們的API的用戶都知道什麼是正確的、什麼是錯的,也就是說一定要考慮到對外接口的出錯處理問題。

10、最高境界,無招勝有招
       意思就是說盡量避免寫太多的代碼,寫的越多,出錯的機會也越多。最好能重用別人開放的接口函數或直接調用別人的api。


本文鏈接:http://www.apkbus.com/android-11386-1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章