第1回 カンファレンス動画鑑賞会 #mobconfvideo

当日のツイートをまとめました。 https://tokushima-app.connpass.com/event/103483/
2
ひろん @hironytic

今週末ですよー。会場の場所は申し込みしてくれている人に送るのでまだ迷っている人は早めに申し込んでね🙂 / 第1回 カンファレンス動画鑑賞会 tokushima-app.connpass.com/event/103483/ #mobconfvideo

2018-10-11 09:34:14
リンク connpass 第1回 カンファレンス動画鑑賞会 (2018/10/14 10:00〜) # 概要 iOSDC, DroidKaigi などのモバイルアプリ開発者向けのカンファレンスのセッション動画をみんなでわいわい見る会です。 * 「動画があるとわかっているけど、いつでも見えると思ってなかなか見ない」 * 「動画を見たあと、みんなでわいわい意見を交わしたい」 * 「自分からは見ようとしなかったセッションに出会いたい」 …というような人向けのイベントです! # タイムテーブル 10:00 〜 16:00 動画鑑賞会 ※ 入退出自由 ※ お昼頃は昼食休憩の予定です #
ひろん @hironytic

第1回すでに始まってます。まずは前回のリクエストにあった de:code 2017から「50 分でわかるテスト駆動開発」 channel9.msdn.com/Events/de-code… #mobconfvideo

2018-10-14 10:13:53
リンク Channel 9 50 分でわかるテスト駆動開発 資料: 50 分でわかるテスト駆動開発 [PDF] 和田 卓人タワーズ・クエスト株式会社取締役社長 「百聞は一見に如かず」といいます。テスト駆動開発 (TDD) を理解するには、実際に行っているところを見るのが一番です。このセッションでは、ライブ コーディングによるデモを通じて TDD の実際の姿をご覧頂きます。 受講対象: DevOps 導入前に、テスト駆動開発 (TDD) を実現できていない方 217 users 55
Kenichi Tatsuhama @tatsuhama50

「動作するきれいなコード」 動作する( or not ) x きれいな( or not )コード。 「動作」と「きれい」どっちが先か #mobconfvideo

2018-10-14 10:17:36
Kenichi Tatsuhama @tatsuhama50

「テストを実行して失敗させる(red)」よく忘れるなぁ。。。 #mobconfvideo

2018-10-14 10:19:13
Kenichi Tatsuhama @tatsuhama50

Green / Red / Refactoring で Refactor の優先度が現場では落とされがち。 #mobconfvideo

2018-10-14 10:26:37
ひろん @hironytic

ライブコーディング始まった(動画の中で) #mobconfvideo

2018-10-14 10:31:32
Kenichi Tatsuhama @tatsuhama50

FizzBuzz の問題文(日本語)を分解して箇条書きにして要件整理。 「ただし」は準正常系。 #mobconfvideo

2018-10-14 10:33:35
Kenichi Tatsuhama @tatsuhama50

Eclipse の JUnit テストを追加した時に作られるデフォルトのテストコードは実行すると失敗するのか。TDD の Red になってる。 一方、Android Studio のプロジェクトでは Green から始まる。 これだと、実行の呼び出し忘れに気づけないな… #mobconfvideo

2018-10-14 10:38:28
Kenichi Tatsuhama @tatsuhama50

UnitTest の関数内の実装をゴール(assertion)から考えてみる。 assertEquals("1", fizzbuzz.convert(1)); // ビルドエラー ↓ ・fizzbuzz インスタンスを実装 ↓ ・convert関数を実装 確かにテスト駆動開発だ。 #mobconfvideo

2018-10-14 10:46:05
ひろん @hironytic

茶番の実装は、テストが正しく書かれていることを検証できる。なるほど。 #mobconfvideo

2018-10-14 10:47:47
Kenichi Tatsuhama @tatsuhama50

「テストは増やすのは簡単だけど、減らすのは難しい」 UnitTest じゃなくても、QA フェーズの工数削減も間引いて良いテストを選定するのは難しいよな… #mobconfvideo

2018-10-14 11:03:37
sww @_sww_

テストは増やす方向ばっかりだと思ってたけど減らす責任のあるのねー #mobconfvideo

2018-10-14 11:04:16
ひろん @hironytic

テストを削除するのはテストを作るより難しい。でもテストが多いとメンテナンスは大変になるので、テスト駆動開発を進めるために作ったテストは、必要最小限のテストに減らすところまでやる #mobconfvideo

2018-10-14 11:04:18
Kenichi Tatsuhama @tatsuhama50

「TDD できるかどうか?」は「仕様が明確かどうか」って話になった。 #mobconfvideo

2018-10-14 11:08:19
ひろん @hironytic

続いて、iOSDCリジェクトコンのライブコーディング 1日目 youtu.be/dL8509MY4bI #mobconfvideo

2018-10-14 11:17:09
拡大
Kenichi Tatsuhama @tatsuhama50

別セッション動画でも、UnitTest 実装してからテスト対象の本体コードの実装をしている。 #mobconfvideo

2018-10-14 11:23:25
Kenichi Tatsuhama @tatsuhama50

文字列を渡した時… ・空文字だと? ・null だと? など、仕様上あり得なくても、コーディング上あり得る事に気づいて UT でカバーしておきたいな。 #mobconfvideo

2018-10-14 11:28:15
ひろん @hironytic

続いてそのまま2日目のライブコーディングに行きます youtu.be/mavniHTe_Xw?t=… #mobconfvideo

2018-10-14 11:49:18
拡大
Kenichi Tatsuhama @tatsuhama50

「テストしづらかったらコンポーネントに分割しよう」 #mobconfvideo

2018-10-14 11:58:35
Kenichi Tatsuhama @tatsuhama50

bool isLoading bool hasToken → state の enum にする #mobconfvideo

2018-10-14 12:01:18
Kenichi Tatsuhama @tatsuhama50

中継動画にはディスプレイの入力画像をスクリーンの上にリアルタイムで合成しているので、ものすごく見やすい! #mobconfvideo pic.twitter.com/GwGTIJV44h

2018-10-14 12:06:26
拡大