Hachioji.pm #25id: hondallica ( http://sukuna.net/ )
じこしょうかいid:hondallica(ホンダリカ)本田でもホンでもお好きにお呼びください。職業:Heavymetal Programmer近況:Web系➡インフラ系にドナドナHachioji.pm参加者 Twitterリストhttps://...
テーマテスト
日常上司「ツール作って」私「つくりました」別の日上司「ツール作って」私「つくりました」↑これの繰り返し
問題・時間がなく、場当たり的なコーディング・似た処理のプログラムが多い・無駄にプログラムファイルが増える・知らぬ間にコードやデータを変更される・テストがない➡テストコードの書き方とかテスト技法が わからなくて、手を付けない自分
改善案・時間がなく、場当たり的なコーディング・似た処理のプログラムが多い・無駄にプログラムファイルが増える➡モジュール化・知らぬ間にコードやデータを変更される・テストがない➡とにかくテストコード書く
テストとツールのコードを一緒にすればいいんじゃね?
モジュールツクール
テストコードにツールの処理を書く一気に書かずに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
Upcoming SlideShare
Loading in …5
×

Hachioji.pm #25

424 views
386 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
424
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hachioji.pm #25

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

×