Hachioji.pm #25
-
Upload
hon-dallica -
Category
Documents
-
view
291 -
download
1
Transcript of Hachioji.pm #25
id: hondallica ( http://sukuna.net/ )
Hachioji.pm #25
じこしょうかい
id:hondallica(ホンダリカ)本田でもホンでもお好きにお呼びください。
職業:Heavymetal Programmer
近況:Web系➡インフラ系にドナドナ
Hachioji.pm参加者 Twitterリストhttps://twitter.com/hondallica/hachiojipm
テーマテスト
日常
上司「ツール作って」私「つくりました」
別の日
上司「ツール作って」私「つくりました」
↑これの繰り返し
問題
・時間がなく、場当たり的なコーディング・似た処理のプログラムが多い・無駄にプログラムファイルが増える・知らぬ間にコードやデータを変更される・テストがない➡テストコードの書き方とかテスト技法が わからなくて、手を付けない自分
改善案
・時間がなく、場当たり的なコーディング・似た処理のプログラムが多い・無駄にプログラムファイルが増える➡モジュール化
・知らぬ間にコードやデータを変更される・テストがない➡とにかくテストコード書く
テストとツールのコードを
一緒にすればいいんじゃね?
モジュールツクール
テストコードにツールの処理を書く
一気に書かずに1行ずつ進める。
テストを走らせる
Testament.pmにnewがないので失敗
Testament.pmを書く
newを実装
再度テストを走らせる
テストは通る。けど自分でテストは追加してない。
テストを追加する
$testamentが本当にTestamentなのかテスト
こんな調子で実装を進めます
Testamentのサイトをgetするための処理を追加
こんな調子で実装を進めます
Testament.pmも実装
各テストに名前を付ける
テスト名が各処理のコメントを兼ねる
proveにvオプションつければ
テスト結果と処理のログになる
完成後
定期的に動かすツールはバッチファイルを作ってタスクスケジューラに登録します。
▼testament.batcd Testamentprove -Ilib
ツールの実行自体がテスト
まとめ
➡モジュール化が(ある程度)強制される ➡ツールの乱造が減った➡テストとツールのソースが1つになる
➡テストを書きたくなる(これデカイ) ➡okとかisの追加はそんなに手間じゃない
➡テスト名がコメント ➡printデバッグが減った
➡ツールの実行=テスト ➡「何もしてないのに壊れた」を見抜ける
The End