Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hachioji.pm #25

532 views

Published on

  • Be the first to comment

  • Be the first to like this

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

×