Text
Page: 1
概要 須藤功平 株式会社クリアコード 実践リーダブルコード 2015-06-24 概要 Powered by Rabbit 2.1.3
Page: 2
今日の流れ - 午前 ✓ 10:00- アイスブレーク ✓ 10:15- 概要と進め方の説明 ✓ 10:45- 実装 ✓ 12:30- ランチ 概要 Powered by Rabbit 2.1.3
Page: 3
今日の流れ - 昼下がり ✓ 13:30- 読み方のデモ ✓ 13:45- チェンジして実装 ✓ 15:30- グループふりかえり 概要 Powered by Rabbit 2.1.3
Page: 4
今日の流れ - 夕方 ✓ 16:00- まとめ ✓ 次のステップを説明 ✓ 16:30- 感想発表・質疑応答 ✓ 17:00- 有志で懇親会 概要 Powered by Rabbit 2.1.3
Page: 5
チューター紹介 ✓ 参加者のサポート係 ✓ 現役エンジニア ✓ 行動指針 ✓ 参加者が目的を見失うのを防ぐ ✓ 新しい視点を与える 概要 Powered by Rabbit 2.1.3
Page: 6
講師紹介 須藤功平(すとう こうへい) ✓ クリアコード代表取締役 ✓ リーダブルコード(本)の 「解説」の著者 ✓ 進行と全体を気にかける係 概要 Powered by Rabbit 2.1.3
Page: 7
講座の目的 ✓ 自分の開発チームに ✓ ↑注意:個々人の話ではない ✓ リーダブルなコードが 当たり前な文化の作り方を ✓ 持ち帰る → 「解説」に書いていることの実践方法を学ぶ 概要 Powered by Rabbit 2.1.3
Page: 8
目的でないこと ✓ 実践前の不安のケア ✓ やらない理由の増幅は抑えられない ✓ ↑のときに外からの声は届かない ✓ 例:上司の説得方法の伝授 ✓ 時間が残ったら参加者同士で 情報交換する場を用意 ✓ ↑を活用するのは可 概要 Powered by Rabbit 2.1.3
Page: 9
サポート ✓ 今日の資料はすべて再利用可能 ✓ チーム内で同じ講座を再現できる ✓ 無料のフォローアップ面談 ✓ チームで実践→悩み ↑の相談に乗る ✓ 受講後3ヶ月以内に1回 概要 Powered by Rabbit 2.1.3
Page: 10
そもそもの話 ✓ リーダブルコードはなぜ必要か ↓を目指すために チームでの共有は必須 リーダブルなコードが 当たり前な文化 概要 Powered by Rabbit 2.1.3
Page: 11
必要なケース チーム開発 概要 Powered by Rabbit 2.1.3
Page: 12
チーム開発 ✓ 1人しか触れないコード→危険 ✓ いなくなったら変更できない ✓ 変更できてもコストが大きい ✓ チームで触れるには? ↓ 既存コードの理解が必要 概要 Powered by Rabbit 2.1.3
Page: 13
既存コードの理解のため リーダブル コード 概要 Powered by Rabbit 2.1.3
Page: 14
既存コードの理解しやすさ ✓ コードの変更コストに影響 ✓ コスト↑→修正・機能追加の時間↑ (理解しないと変更できない) ✓ コスト↑→リグレッションバグ↑ (理解しないまま変更すると問題発生) ↓ 理解しやすさ→開発速度に影響 概要 Powered by Rabbit 2.1.3
Page: 15
時間が経つほど影響大 開発 速度 リーダブルな場合 開発速度が落ちにくい リーダブルじゃない場合 開発速度が落ちやすい 時間 概要 Powered by Rabbit 2.1.3
Page: 16
リーダブルコードの必要性 ✓ チームの開発速度の維持のため ✓ 継続的に改良・修正したい ✓ それも現実的なコストで 概要 Powered by Rabbit 2.1.3
Page: 17
必要性の実現方法 コードを読む 文化を作る 概要 Powered by Rabbit 2.1.3
Page: 18
読む?書くじゃないの? ✓ リーダブルコードを書くには コードを読まないといけない ✓ なぜ? リーダブルコードは チーム毎に違うから 概要 Powered by Rabbit 2.1.3
Page: 19
リーダブルコード 「読む人」が 読みやすいなら リーダブル 概要 Powered by Rabbit 2.1.3
Page: 20
読む人 ✓ 多くの場合、いない ✓ チームのコードを読んでいますか? ✓ 読む人(チームメンバー)毎に リーダブルの基準は違う ✓ 背景が違うので当たり前 (背景:使ってきた言語・今の知識) 概要 Powered by Rabbit 2.1.3
Page: 21
チームでのリーダブル ✓ 1つずつ見つけていくしかない ✓ 各メンバーの読んだ感覚を チームで共有 ✓ 既存の基準をベースにするのはアリ (基準:本の内容やコーディングスタイルなど) チームでのリーダブルコードは 育てていくもの 概要 Powered by Rabbit 2.1.3
Page: 22
リーダブルの基準の育て方 ✓ コードを読む文化を作る (最初の難関) ✓ チームのコードの中から リーダブルなコードを見つける ✓ リーダブルなコードを チームで共有 ✓ ↑の繰り返しで基準を増やす 概要 Powered by Rabbit 2.1.3
Page: 23
コードを読む文化を作る ✓ まず自分が読み始める ✓ 仲間がいると心強い ✓ リーダブルなコードを探す ✓ 読みにくいコードは今は置いておく (チームにコードを読む文化ができてから!) ✓ 見つけたリーダブルなコードは… 概要 Powered by Rabbit 2.1.3
Page: 24
リーダブルなコードは… ✓ 他のメンバーに教える (例:話しかける。チャットに書く。Wikiにまとめる。) ✓ 「○○さんの△△という書き方、 リーダブルでしたよー」 ↓ 読みやすさの基準を共有 コードが読まれているという自覚 概要 Powered by Rabbit 2.1.3
Page: 25
読むことを「当たり前」に ✓ 「あいつはコードを読むやつ」 という認識を広める ✓ 自分だけからチームへ …続きはセミナーの最後に 概要 Powered by Rabbit 2.1.3
Page: 26
ワークショップ内容 改良するために 他の人のコードを読む ✓ 「まず自分が読み始める」 ✓ 「リーダブルコードを探す」 (読みにくいコードは今は置いておく) ✓ 「リーダブルの基準を共有」 (チームでのリーダブルコードができる) 概要 Powered by Rabbit 2.1.3
Page: 27
注意:やらないこと リーダブルコードを書くための テクニックをたくさん伝授 概要 Powered by Rabbit 2.1.3
Page: 28
テクニック伝授は範囲外 ✓ 順番が違う ✓ まず読む文化を作ること ✓ 今日は↑がメイン ✓ テクニックはその後 ✓ 読む文化ができていれば 効率的に広められる ✓ よい書き方でコードを書けば みんながコードから学んでくれる! 概要 Powered by Rabbit 2.1.3
Page: 29
やること 読む文化作りの 体験 概要 Powered by Rabbit 2.1.3
Page: 30
読む文化作り ✓ まず自分が読み始める ✓ リーダブルコードを探す ✓ 他のメンバーに教える 概要 Powered by Rabbit 2.1.3
Page: 31
読む文化作りの体験 ✓ 10:45- 課題を実装 ✓ リーダブルコードを書く ✓ 13:30- 実装チェンジ→開発継続 ✓ 「まず自分が読み始める」 ✓ 「リーダブルコードを探す」 ✓ 15:30- グループ発表 ✓ 「他のメンバーに教える」 概要 Powered by Rabbit 2.1.3
Page: 32
おさらい ✓ 講座の目的 ✓ リーダブルコードの必要性 ✓ 講座でやること 概要 Powered by Rabbit 2.1.3
Page: 33
講座の目的 ✓ 自分の開発チームに ✓ ↑注意:個々人の話ではない ✓ リーダブルなコードが 当たり前な文化の作り方を ✓ 持ち帰る 概要 Powered by Rabbit 2.1.3
Page: 34
リーダブルコードの必要性 ✓ チームの開発速度の維持のため ✓ 継続的に改良・修正したい ✓ それも現実的なコストで 概要 Powered by Rabbit 2.1.3
Page: 35
変更コストと開発速度 開発 速度 リーダブルな場合 開発速度が落ちにくい リーダブルじゃない場合 開発速度が落ちやすい 時間 概要 Powered by Rabbit 2.1.3
Page: 36
講座でやること ✓ コードを読む文化作りの体験 ✓ まず自分が読み始める ✓ リーダブルコードを探す ✓ 他のメンバーに教える 概要 Powered by Rabbit 2.1.3