iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0

「每一個範式都將某些東西帶離開我們。goto語句、函式指標、賦值,還有什麼東西可以帶走的嗎?」

「或許沒有了。因此,這三種範式將可能是我們唯一看到的三種範式

取自: Clean Architecture (p.21)

CH3: 從基礎開始 - 程式設計範式

  1. 結構化程式設計
    • 跳躍
    • 直接控制轉移加上規範
    • 刪除「GOTO」
  2. 物件導向程式設計
    • Stack & Heap
    • 間接控制轉移加上規範
    • 刪除「函式指標」
  3. 函數式程式設計
    • 不變性
    • 賦值加上規範
    • 刪除「賦值」

思考

  • 每個範式都沒有增加新的功能
  • 範式告訴我們不該做什麼,而不是告訴我們該做什麼
  • 三大關注點
    1. 函式
    2. 元件分離
    3. 資料管理

CH4: 結構化程式設計 (Structured Programming)

  • 起源
    • Dijkstra,
    • 數學證明
    • 所有的程式都可以使用三種結構建構出來
      1. 循序 (Sequence)
      2. 選擇 (Selection)
      3. 迭代 (Iteration)

    「軟體就是由循序 (Sequence)、選擇 (Selection)、迭代循環 (Iteration) 和間接 (Indirection) 所組成的電腦程式內容而已。沒有更多,也沒有更少」

    取自: Clean Architecture (p.47)

  • 論戰: GOTO is harmful
  • 功能分解
  • 小結
    • 特色 優缺點

上一篇
Day 14: 【架構篇】 設計與架構、軟體的兩大價值
下一篇
Day 16: 物件導向設計、函數式設計 (待改進中... )
系列文
成為乾淨的開發者吧! Clean Code, Clean Coder, Clean Architecture 導讀之旅31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言