学習内容
朝
・わかったこと
・テスト駆動
Playing a Handに入り、課題のプログラムにテストプログラムがついてくるようになった。
TDDの威力を感じた。テストコードがあるととてもよい。
>|python
#
# Test code
# You don't need to understand how this test code works (but feel free to look it over!)
# To run these tests, simply run this file (open up in your IDE, then run the file as normal)
def test_getWordScore():
"""
Unit test for getWordScore
"""
failure = False
# dictionary of words and scores
words = {("", 7): 0, ("it", 7): 4, ("was", 7): 18, ("scored", 7): 54, ("waybill", 7): 155, ("outgnaw", 7): 127,
("fork", 7): 44, ("fork", 4): 94}
for (word, n) in words.keys():
score = getWordScore(word, n)
if score != words[(word, n)]:
print("FAILURE: test_getWordScore()")
print("\tExpected", words[(word, n)],
"points but got '" + str(score) + "' for word '" + word + "', n=" + str(n))
failure = True
if not failure:
print("SUCCESS: test_getWordScore()")
||<|
こんな感じにテストコードがあるので、中身を実装すると
NG/OKが出るような仕組み。
OKの場合
NGの場合
いわゆるテスト駆動開発のスタイルが取り入れられている。効率よいデバッグや作り方を自然と学べるのがよいよね。
テスト駆動って何?ってのは書籍でお勉強ください。
テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計
- 作者: James W. Grenning,蛸島昭之,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/04/24
- メディア: 大型本
- この商品を含むブログ (13件) を見る
現在kindle版の書籍が半額!
世界標準MIT教科書 Python言語によるプログラミングイントロダクション 第2版:データサイエンスとアプリケーション
- 作者: Guttag John V.
- 出版社/メーカー: 近代科学社
- 発売日: 2017/09/01
- メディア: Kindle版
- この商品を含むブログを見る
・次やらないといけないこと
・テスト駆動に慣れる
・所感
中間テストも無事に終わり、テスト&デバッグの章に入った。
テストコードを簡単に作って、中身を作ることに集中するという開発スタイル。
没頭を中心としたプロセスだなと感じる。