編寫優秀程式碼的10個技巧

html5tricks發表於2014-07-29

  作為程式設計師,寫程式碼是需要一種崇高無上的精神來支撐的,寫出優秀的程式碼,更需要你有深厚的底蘊和良好的編碼習慣。在介紹寫優秀程式碼的10個技巧之前,我們先來探討一下什麼樣的程式碼才是優秀的程式碼。

  • 穩定可靠(Robustness)
  • 可維護且簡潔(Maintainable and Simple Code)
  • 高效(Fast)
  • 簡短(Small)
  • 共享性(Reusable)
  • 可測試性(Testable)
  • 可移植性(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是因為它們都是經過了很多優秀開發人員的不斷開發、測試,其效率很高,而且簡潔易懂,希望大家能掌握它,熟悉它,使用它。是不是象我們的ULIB。

 7、雙手互搏,無堅不摧

  這裡的測試不是指別人來測試你的程式碼,而是指自己去測試。因為你是寫程式碼的原作者,對程式碼的瞭解最深,別人不可能比你更瞭解,所以你自己在測試時,可以很好地去測試哪些邊界條件,以及一些意向不到的情況。

 8、活用斷言

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

 9、草木皆兵,不可大意

  是指在寫程式碼時,要小心一些輸入的情況,比如輸入檔案、TCP的sockets、函式的引數等等,不要認為使用我們的API的使用者都知道什麼是正確的、什麼是錯的,也就是說一定要考慮到對外介面的出錯處理問題。

 10、最高境界、無招勝有招

  意思就是說盡量避免寫太多的程式碼,寫的越多,出錯的機會也越多。最好能重用別人開放的介面函式或直接呼叫別人的api。

  以上10點引用自CSDN黑夜路人的部落格,如果你有更棒的建議,歡迎留言告訴大家。

相關文章