編寫優秀代碼的10個技巧

來源:互聯網
上載者:User

標籤:io   使用   檔案   sp   問題   代碼   on   c   ad   

作為程式員,寫代碼是需要一種崇高無上的精神來支撐的,寫出優秀的代碼,更需要你有深厚的底蘊和良好的編碼習慣。在介紹寫優秀代碼的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個技巧

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.