完成第一個概念練習之後,接下來幾個練習就應該以它為基礎。
我們希望有 3 到 5 個練習,除了basics概念之外沒有其他先修。
不錯的選擇是你這門語言的核心基本型別或資料型態。 例如布林值、基本的數值型別、字串和原子。
值得去看看其他軌道的概念練習,看看有沒有適合自己軌道的。
請注意,介紹一個概念並不代表你得把它完整、淋漓盡致地解釋清楚。 你隨時可以延後處理複雜度。 這門語言可能有十幾種不同的數值型別,各自適用於不同情境。 這個練習可以只提及還有其他型別,同時只介紹最常用的整數型別和最常用的浮點數型別。
有些核心資料型態太過複雜,無法直接介紹。 例如,字串可能其實是字元的陣列。 這種情況下,你就需要延後介紹字串,並為字元設計一個概念練習,再為陣列設計另一個。 接著你就能新增一個字串練習,並以那兩個練習為先修。
有時候在做某個練習時,你會發現它比預期中還要複雜。
這完全沒問題。
把需要當作先修來教的概念記錄下來。
然後假裝那個練習已經存在,帶著這樣的簡化繼續完成你手邊的練習。
之後再回頭為那個先修概念建立新的練習。
別忘了在先修練習加入之前,把這個練習標記為wip。
在這個階段還可能發生另一件事:你發現出現了循環相依。 你需要介紹兩個概念,但這兩個概念互相依賴。 這種情況下,你也許可以使用樁。 那麼你可以說明那個相依的概念確實存在,但要讓他們放心,現階段還不需要理解它。 另一個做法是只給最低限度的介紹,足夠讓學生跨過這道障礙就好,同時讓他們放心,這個概念之後會有更深入的說明。
如果你選擇不實作某個練習,因為它不適合你的軌道(例如為高階軌道設計的低階練習),請將它標記為 foregone。
做法是把該練習的 slug 加入你軌道的config.json檔案裡的exercises.foregone陣列。
除了讓你不實作某個練習的選擇變得明確之外,任何工具(例如configlet)也會一併忽略標記為 foregone 的練習。
更多資訊請參閱文件。