Rabbit Slide Show

SEゼミ2014 - リーダブルコード勉強会の進め方

2014-07-06

Description

2014年のSEゼミの「プログラミングが好きな学生のためのリーダブルコード勉 強会」の進め方の説明。

Text

Page: 1

進め方
須藤功平
株式会社クリアコード
SEゼミ2014 - リーダブルコード勉強会2
2014/07/06
進め方
Powered by Rabbit 2.1.3

Page: 2

今日の流れ - 午前
✓ 10:00- 進め方の説明
✓ 11:00- 実装
✓ 12:00- スポンサー紹介
✓ 12:30- ランチ
進め方
Powered by Rabbit 2.1.3

Page: 3

今日の流れ - 昼下がり
✓ 13:30- コード解説
✓ 13:50- チェンジして実装
✓ 15:30- グループふりかえり
✓ 16:00- グループ発表
進め方
Powered by Rabbit 2.1.3

Page: 4

今日の流れ - 夕方
✓ 17:30- まとめ
✓ 17:35- 質疑応答
✓ 17:50- アンケート記入
✓ 18:00- 撤収&移動
✓ 18:10- 懇親会
進め方
Powered by Rabbit 2.1.3

Page: 5

メンター紹介
✓ 参加者のサポート係
✓ 現役超優秀エンジニア
✓ 参加者がわからない
✓ →聞くと助けてくれる
✓ →モジモジしてると声をかけてくる
進め方
Powered by Rabbit 2.1.3

Page: 6

メンター紹介1
川原さん(@ooharabuchou)
✓ 楽天社員
✓ 楽天ウェブサービスの開発
✓ OpenPNEの開発
進め方
Powered by Rabbit 2.1.3

Page: 7

メンター紹介2
たなべさん(sunaot)
✓ DeNA社員
✓ 「るびま」の編集者
(Rubyist Magazine)
✓ 最新るびま:リリースアナウンス
進め方
Powered by Rabbit 2.1.3

Page: 8

メンター紹介3
結城さん(Piro)
✓ クリアコード社員
✓ 開発Firefoxアドオン数世界一
✓ ツリー型タブ
(Tree Style Tab)
進め方
Powered by Rabbit 2.1.3

Page: 9

メンター紹介4
沖元さん(okkez)
✓ クリアコード社員
✓ 「るりま」のリーダー
(Rubyリファレンスマニュアル刷新計画)
(≒ Rubyの日本語ドキュメント改善プロジェクト)
✓ CRubyのコミッターの1人
進め方
Powered by Rabbit 2.1.3

Page: 10

トレーナー紹介
須藤
✓ クリアコード代表取締役
✓ 進行と全体を気にかける係
✓ リーダブルコード(本)の
「解説」の著者
✓ RubyKaigi 2014で話すよ
進め方
Powered by Rabbit 2.1.3

Page: 11

勉強会の目的
参加者の
リーダブルコード力の
レベルアップ
進め方
Powered by Rabbit 2.1.3

Page: 12

実現方法
✓ やること
✓ コードを書いて読んでまた書く
✓ やらないこと
✓ リーダブルコードを書くための
テクニックをたくさん伝授
進め方
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

どうして将来を重視?
高速道路と大渋滞
(将棋の羽生さんの話)
http://japan.cnet.com/blog/umeda/2004/12/06/
entry_post_203/
進め方
Powered by Rabbit 2.1.3

Page: 19

高速道路と大渋滞
✓ インターネットの普及
✓ 情報量大・いつでも対局できる
✓ 将棋が強くなるための高速道路
✓ 高速道路の先は大渋滞
✓ 高速道路に終わりがある
✓ 次の世代も高速道路を走ってくる
✓ 終わった場所から抜け出せない
進め方
Powered by Rabbit 2.1.3

Page: 20

高速道路と大渋滞:イメージ
棋力
高速道路
超絶高速
超高速
高速
大渋滞
世代1 世代2 世代3
進め方
世代
Powered by Rabbit 2.1.3

Page: 21

当てはめると
高速道路 = テクニック集
✓ 高速道路を走る
✓ 先人が整理したテクニック集を学ぶ
✓ 大渋滞
✓ 未整理のテクニックを活かせない
進め方
Powered by Rabbit 2.1.3

Page: 22

ここまでのまとめ
✓ タイムテーブル説明
✓ メンバー紹介
✓ 勉強会で目指すことを共有
✓ 目的: リーダブルコード力アップ
✓ ポイント: 今ではなく将来を意識
進め方
Powered by Rabbit 2.1.3

Page: 23

将来を見据える
テクニックを
自ら開発できる
進め方
Powered by Rabbit 2.1.3

Page: 24

テクニックの開発方法
1. 既存のテクニックの習得
✓ 本から学ぶ
✓ 野生のコードを読む→
リーダブルコードを発見→
吸収
2. 新規にテクニックを発明
✓ リーダブルでないコードを発見→
改善案を発明
進め方
Powered by Rabbit 2.1.3

Page: 25

本から学ぶ
1. 既存のテクニックの習得
✓ 本から学ぶ ←各自やって
✓ 野生のコードを読む→
リーダブルコードを発見→
吸収
2. 新規にテクニックを発明
✓ リーダブルでないコードを発見→
改善案を発明
進め方
Powered by Rabbit 2.1.3

Page: 26

野生のコードから発見
1. 既存のテクニックの習得
✓ 本から学ぶ
✓ 野生のコードを読む→
リーダブルコードを発見→
吸収 ↑今日のターゲット
2. 新規にテクニックを発明
✓ リーダブルでないコードを発見→
改善案を発明
進め方
Powered by Rabbit 2.1.3

Page: 27

改善案を発明
1. 既存のテクニックの習得
✓ 本から学ぶ
✓ 野生のコードを読む→
リーダブルコードを発見→
吸収
2. 新規にテクニックを発明
✓ リーダブルでないコードを発見→
改善案を発明 ←別の機会で
進め方
Powered by Rabbit 2.1.3

Page: 28

リーダブルコードの発見
✓ 本の内容→世界の一部
✓ 世界
✓ 野生のリーダブルコードがたくさん
✓ リーダブルコードがある場所
✓ OSSのコード
✓ 大学・会社の仲間のコード
進め方
Powered by Rabbit 2.1.3

Page: 29

発見方法
書いて読んで
書いて読んで
書いて読んで
進め方
Powered by Rabbit 2.1.3

Page: 30

理由
✓ 読まないとコードのサンプルが0
✓ サンプルがないと見つけられない
✓ 書かないと身につかない
✓ 知識だけで終わらせない
✓ 自分のスキルにする
進め方
Powered by Rabbit 2.1.3

Page: 31

今日やること
1. 書いて
2. 読んで
3. 書いて
進め方
Powered by Rabbit 2.1.3

Page: 32

書いて読んで書いて
✓ 11:00- 課題を開発
✓ 書く
✓ 13:50 実装をチェンジ
✓ 13:50- 他の人の実装で開発継続
✓ 読む・書く
✓ 読まないと変更できない
進め方
Powered by Rabbit 2.1.3

Page: 33

1: 初期状態
1. 書いて←自己流で本気をだす
2. 読んで
3. 書いて
進め方
Powered by Rabbit 2.1.3

Page: 34

2: 吸収
1. 書いて←自己流で本気をだす
2. 読んで←他のコードから吸収
3. 書いて
進め方
Powered by Rabbit 2.1.3

Page: 35

3: レベルアップ
1. 書いて←自己流で本気をだす
2. 読んで←他のコードから吸収
3. 書いて←↑を活用して成長
進め方
Powered by Rabbit 2.1.3

Page: 36

明日からは自分たちで
リーダブルコード力
読み
書き
習慣にして
継続的に
レベルアップ
今日
進め方
時間
Powered by Rabbit 2.1.3

Page: 37

ここまでのまとめ
✓ リーダブルコードの
発見方法を紹介
✓ 書いて読んで書いて…
✓ 今日やることの説明
✓ 書いて読んで書いて
✓ 1ターンだけ
✓ 2ターン目以降は各自がんばって!
進め方
Powered by Rabbit 2.1.3

Page: 38

書いた後にやること
✓ 15:30- グループふりかえり
✓ 各自:リーダブルコードを発見済
✓ 各自からグループに共有
✓ 16:00- グループ発表
✓ グループ:リーダブルコードを発見済
✓ グループから全体に共有
進め方
Powered by Rabbit 2.1.3

Page: 39

最後
✓ 17:30- まとめ
✓ 成功だった?(発見できた?)
✓ 17:35- 質疑応答
✓ 18:10- 懇親会
✓ 積極的に情報交換してね
✓ 参加者同士
✓ メンターの人に質問←参考になるはず
進め方
Powered by Rabbit 2.1.3

Page: 40

確認

Page: 41

目的
参加者の
リーダブルコード力の
レベルアップ
進め方
Powered by Rabbit 2.1.3

Page: 42

ポイント
今よりも将来
進め方
Powered by Rabbit 2.1.3

Page: 43

やること
テクニックを
開発する方法を
体験
進め方
Powered by Rabbit 2.1.3

Page: 44

具体的なやること
コードを読んで
リーダブルコードを発見
進め方
Powered by Rabbit 2.1.3

Page: 45

目標
コードを読んで
リーダブルコードを発見
↑が習慣になる
進め方
Powered by Rabbit 2.1.3

Page: 46

目標達成の判断基準例
1. 今後はOSSのコードを毎日読む
2. 面接時に↓を質問
✓ コードを見せてください
✓ チーム内で
コードを読みあっている?
進め方
Powered by Rabbit 2.1.3

Page: 47

忘れないで
プログラミングが好きなことは
とても大切にして欲しいこと
誰かのコードから
リーダブルコードを見つける事は
辛い事でなく楽しい事になるはず
進め方
Powered by Rabbit 2.1.3

Other slides

Mroonga!
2015-10-30