看法基於已熟悉的三種語言:C/C++,Python和Java。數組
語言信息
- 版本信息:語言版本變遷歷史
- 源代碼文件:文件後綴,中間文件形式,源文件經常使用格式--如文件頭、入口函數定義等
- 編譯與運行:開發工具(編譯器、解釋器、調試器及IDE等)、發佈方式(原生文件仍是打包程序)、調試工具
基礎語法
註釋
- 好的代碼應該是自解釋的,但有時也須要註釋的幫助。
- 傳統型註釋方式:單行註釋,多行註釋
- 功能性註釋:
- 做爲對象的一部分,如Python中對象的__doc__屬性
- Java中的註解
類型系統
- 類型的做用:
- 對象或數據對應空間大小,存儲時佔用的空間、讀取時解析的空間
- 對象或數據自身的操做及適用於該類型的操做集合
- 標識符、變量、文字常量及常量
- 文字常量:源代碼中直接書寫的數值、字符串、布爾值等,經常使用語賦值語句的右側
- 標識符,命名規則,是否大小寫敏感,關鍵字集合
- 變量,命名規則,與內存區、對象的綁定關係
- 常量,定義方式,明明經常使用法--如全大寫等
- 類型分類:
- 基本類型
- 主要包括數值類型(整型、浮點型及複數等)、字符及字符串類型、布爾類型等
- 字符串類型:存儲方式、支持的操做符、編碼問題
- 擴展類型
- 枚舉類型
- 空類型:void/None/null
- 指針類型
- 類類型
- 內置容器
- 數組類型:數組定義、多維數組、數組索引及越界訪問問題等
- 其餘語言級支持容器,如Python的tuple/list/dict
- 類型轉換規則
操做符
- 操做符,是對計算機指令系統的抽象封裝
- 基本操做符--通常語言都支持的操做符:
- 賦值操做
- 算術運算符
- 比較運算符
- 邏輯運算符
- 位操做運算符
- 特殊操做符:
- 判斷:三元操做符(?:),sizeof,類型判斷(instance of)
- 操做符優先級
語句
- 源代碼的組織形式,好的源代碼是便於閱讀的源代碼
- 單行語句
- 單行語句,是否須要分號作結尾符
- 空語句塊--如{}及關鍵字pass均可表示空語句
- 語句塊
- 語句塊定義方式:中括號表示{},及Python的縮進表示法
- 語句塊,對變量及對象的生命週期及可見性的影響
流程控制
- 代碼執行順序,經常使用包括條件、循環及跳轉
- 條件,if/else,switch
- 循環,while,do/while,for,foreach
- 跳轉,return,break,continue,goto
函數及方法
- 函數是對功能的抽象,封裝實現功能的細節
- 函數簽名,由函數名及參數列表決定,不包括函數返回值
- 函數定義
- 函數參數:
- 傳參方式:傳值、傳引用、傳指針
- 默認值參數、不定長參數(可變參數)
- 不安參數順序,採用參數賦值方式調用函數
- 函數返回值:
- 特殊函數:
- 函數特殊應用:
異常處理
- 異常處理是錯誤處理的一種方式,其餘方式好比C的返回值判斷
- 異常做用:能夠將正常流程代碼與異常處理代碼分開
- 異常系統:
- 拋出異常:throw或raise關鍵字拋出異常
- 捕獲異常:try/catch捕獲異常
- 系統定義異常、自定義異常
- 異常捕獲順序
- 捕獲全部異常
- finally在異常中的應用
- 異常聲明:函數中聲明可能拋出的異常
代碼組織方式