發現編程範型二:基礎語法

看法基於已熟悉的三種語言: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

函數及方法

  • 函數是對功能的抽象,封裝實現功能的細節
  • 函數簽名,由函數名及參數列表決定,不包括函數返回值
  • 函數定義
    • 函數參數:
      • 傳參方式:傳值、傳引用、傳指針
      • 默認值參數、不定長參數(可變參數)
      • 不安參數順序,採用參數賦值方式調用函數
    • 函數返回值:
      • 函數返回值數量
      • 尾調用
  • 特殊函數:
    • 遞歸函數
    • 嵌套函數
    • 匿名函數,如lambda函數
  • 函數特殊應用:
    • 函數指針,函數對象
    • 重載函數

異常處理

  • 異常處理是錯誤處理的一種方式,其餘方式好比C的返回值判斷
  • 異常做用:能夠將正常流程代碼與異常處理代碼分開
  • 異常系統:
    • 拋出異常:throw或raise關鍵字拋出異常
    • 捕獲異常:try/catch捕獲異常
      • 系統定義異常、自定義異常
      • 異常捕獲順序
      • 捕獲全部異常
      • finally在異常中的應用
    • 異常聲明:函數中聲明可能拋出的異常

代碼組織方式

  • 代碼組織的目標:
    • 避免名字衝突問題
    • 組織源代碼文件,便於項目管理
  • 代碼組織方式:
    • 命名空間、包
    • 源文件管理
相關文章
相關標籤/搜索