Tasking-任務分解
- 輸入
- Where:從哪來?
- When:觸發事件
- Who:權限
- 處理過程
- Where:hard code的資料有哪些?
- What:過程描述
- How:怎麼實作
- Why:設計
- 輸出
- Where:到哪去?
程式設計的精進之法
-
任務清單法
任務清單要達到完全窮盡,各自獨立
-
PDCA
PDCA是Plan-Do-Check-Action四個詞的組合。這是這是著名的戴明環。講究從計劃開始,經過實踐,再反思,産生的改進行動再納入下一輪計劃的持續改進過程。
-
程式設計的精進之法
任務清單法+PDCA式工作法形成的組合方法,是一個通過逐漸提升個人能力以達到高效工作的方法。
我們需要在盡可能早的時候,讓盡可能多的有用的動作變成自動的和習慣的…一段痛苦的艱難時期之後就是自由的時光。 ----美國心理學之父威廉詹姆士
像機器一樣思考
- 像機器一樣思考(一)------宏觀的基礎
- 能像機器一樣思考的人适合做程式員。
- 所有的問題都從輸入和輸出的角度去思考,就是計算機這台機器的思考方式。
- 像機器一樣思考(二)------資料的細節
限制是你的朋友。 ----Rails之父DHH
-
類型
程式設計語言分為強類型(比如Java,C#,Scala)和弱類型(比如JavaScript,Ruby,Python)兩種。
-
結構
通過結構化的方式來自定義類型
let zhangsan = { name: "張三", age: 38, children: [{ name: "李四", age: 10 },{ name: "王五", age: 5 }] }
-
- 像機器一樣思考(三)------窮盡就是力量
-
各自獨立
所謂各自獨立,說的就是在我們劃分任務的過程中,每一個任務都對應一個代碼塊或一個函數,這些代碼塊和函數,是互相不包含的
-
完全窮盡
所謂的完全窮盡,說的是我們需要窮盡這個代碼塊或函數裡所有的輸入和輸出。不能遺漏任何一個輸入,任何一個輸出。
- 輸入總共有下面幾大類:
- 參數
- 讀取全局變量
- 調用全局函數後得到的傳回值
- 讀取局部作用域變量(比如this)
- 調用局部函數後得到的傳回值
- hard code的資料
- 輸出總共有下面幾大類:
- 傳回值
- 修改全局變量
- 調用全局函數時傳的參數
- 修改局部作用域變量(比如this)
- 調用局部函數時傳的參數
-
- 像機器一樣思考(四)------一圖抵千言
- 畫圖的規則
- 本圖基本元素由方塊和帶箭頭的線組成
- 一個方塊隻代表一個函數或一個代碼塊,通常是函數,方塊中可以寫字,可以表達函數是屬于哪個類或哪個執行個體等資訊。
- 指向方塊的線代表該函數的輸入,背離方塊的線代表函數的輸出。
- 資料流動的時間軸遵守先從左到右,再從上到下的順序。
- 每一對輸入輸出(輸入在上,輸出在下)加一個方塊,表達了一次函數調用。
- 當按照子產品的角度去拆分task不work的時候,我們就要按照測試的角度來切分task了,這個思維的切換是TDD的核心。我們需要按照測試的視角來切分任務,從一個函數的實作視角轉為一個函數的調用視角。
- 畫圖的規則