REPL(交互式命令行)驅(qū)動開發(fā)
REPL驅(qū)動的開發(fā)并不是一個廣泛認(rèn)可的名詞,它是我喜歡的開發(fā)風(fēng)格,對測試有特定的影響。在使用解釋型語言的時候很常見,如Lisp、Python、Ruby和JavaScript等。
在你使用讀取、計算、打印、循環(huán)( REPL)類型語言時,你可以編寫小而獨立的函數(shù),并且不依賴于全局的狀態(tài)。
函數(shù)在編寫的時候就得到了測試。
這種開發(fā)的方式和TDD有些區(qū)別。它側(cè)重于編寫沒有或者有很少的副作用的函數(shù)。讓代碼更易于理解,而不是像TDD那樣,在實現(xiàn)功能代碼前編寫測試用例。
你可以把這種開發(fā)方式和單元測試結(jié)合起來。因為你也可以用REPL驅(qū)動開發(fā)的方式去實現(xiàn)測試,這樣的結(jié)合是一種很有效的策略。