《代碼閱讀方法與實踐》閱讀筆記1

《代碼閱讀方法與實踐》閱讀筆記1java

代碼閱讀方法與實踐知識點總結:程序員

與代碼相關的大部分概念:包括編程的構造、數據類型、數據結構、控制流程、項目組織、代碼規範、文檔和框架。算法

閱讀是一個站在巨人的肩上看世界的過程,今天咱們在閱讀中獲得的東西多是別人14年的經驗。不少程序員有這樣的哲學:「只要它能工做,它就是正確的」編程

促使程序員於都代碼的各類緣由:將代碼做爲文獻、將代碼做爲範例、維護、演進、重用、審查數組

對於各類語言的程序要搞清楚各類語言的生命週期。代碼閱讀過程當中可使用的「武器」之一就是:編譯器。網絡

對於沒有聲明爲static的全局變量可能會與定義於其餘文件中的同名變量產生意外的相互做用,因此最好的辦法是確保全部只用於單一文件的變量全都聲明爲static.數據結構

大多數開發環境都提供庫函數、類和方法的在線文檔。在Unix系統上可使用man命令,在Windows上可使用微軟開發者網絡資源庫MSDN(Microsoft Developer Network Library),而Java API的文檔都是HTML格式,做爲Sun JDK的一部分提供。要養成遇到庫元素就去閱讀相關文檔的習慣,這將會加強您閱讀和編寫代碼的能力。框架

全部控制流程的語句,程序通常將組成控制語句的相關語句縮進,可是縮進只是對人類程序閱讀者一種直觀的提示,若果沒有給出花括號,控制結構將隻影響控制語句後的單個語句,無論如何縮進。因此注意代碼的實際執行狀況和縮進是否一致。 函數

給定case或default標記的代碼,在結束時若是沒有語句(好比break,return或continue)將控制權移到switch塊外部,程序將繼續之星下一個標記後的代碼,分析代碼是要留心這種錯誤。spa

for循環注意執行代碼體的次數,for語句的3個部分是表達式,不是語句。所以,若是在循環開始或每次迭代結束時須要執行多個操做,不能用花括號將表達式聚合到一塊兒。然而,咱們常常會看到這種用法,使用都好(,)運算符將表達式序列化,以此將表達式聚合到一塊兒。return語句退出函數,break語句退出循環體,exit退出整個程序,C++,C#和java程序還能夠經過異常跳出循環。

對於字符合布爾型表達式,當每一個小寫字母的代碼與對應的大寫字符之間的距離不固定是,這段代碼都不能工做。許多非ASCII字符集至少存在這些問題中的一個。

閱讀能夠開闊世界,別人講不一樣的風景帶進咱們的世界。

在閱讀代碼時,遇到標記和goto語句應該當即引發足夠的重視,它們容易被無用,創造出「意大利麪條」式的代碼

小規模重構、do循環和正整形表達式、再論控制結構

 

指針、機構體、共用體、動態內存和類型名稱聲明是構成複雜C數據結構類型和算法的基本元素。

在C程序中,指針通常用來:構造鏈式數據結構、引用動態分配的數據結構、實現引用調用、訪問和迭代數據元素、訪問數組參數、引用函數、做爲其餘值的別名、表明字符串、直接訪問系統內存

結構在C程序中的應用以下:將通常做爲一個總體來使用的數據元素集合到一塊兒、從函數中返回多個數據元素、構造鏈式數據結構、映射數據在硬件設備、網絡連接和介質上的組織方式、實現抽象數據類型、以面向對象的方式編程

在C程序中共用體主要用於下述用途:有效地利用存儲空間、實現多態、使用不一樣的內部表達方式對數據進行訪問

程序編寫時大小未知的數據結構,或程序運行時大小會增加的結構,都存儲在程序運行期間動態分配的內存中

typedef聲明爲一個已有的類型增長一個新的名稱,或稱替代名。

相關文章
相關標籤/搜索