Text
Page: 1
進め方
須藤功平
株式会社クリアコード
リーダブルコード勉強会 in 筑波大
2015-07-04
進め方
Powered by Rabbit 2.1.7
Page: 2
この勉強会の目的
リーダブルコードに関して
↓の2つを知る・体験する
✓ どういうコード?
✓ どうやって書くの?
進め方
Powered by Rabbit 2.1.7
Page: 3
目的の理由
複数人開発では
リーダブル
コードが
役に立つから
進め方
Powered by Rabbit 2.1.7
Page: 4
複数人開発
✓ 仕事での開発
✓ OSSの開発
✓ 1人でも年単位で続く開発
✓ 去年の自分と今年の自分は同じ?
進め方
Powered by Rabbit 2.1.7
Page: 5
関係者紹介:企画
この場を作った人たち
✓ 横山さん
✓ 高杉さん
✓ 寺田さん
✓ 今川さん
進め方
Powered by Rabbit 2.1.7
Page: 6
関係者紹介:スポンサー
資金面で支援したみなさん
✓ クロノファクトリー
✓ SEゼミ
✓ アジャイルチームを支える会
✓ 筑波大学 enPiT
進め方
Powered by Rabbit 2.1.7
Page: 7
関係者紹介:メンター
みなさんのサポート
✓ 社会人
✓ Ruby本体の開発者が混ざっている
✓ 筑波大学生
✓ 筑波大学院生
進め方
Powered by Rabbit 2.1.7
Page: 8
関係者紹介:トレーナー
進行と全体を気にかける係
✓ 須藤
✓ リーダブルコード(本)の
「解説」の著者
進め方
Powered by Rabbit 2.1.7
Page: 9
この勉強会の目的
リーダブルコードに関して
↓の2つを知る・体験する
✓ どういうコード?
✓ どうやって書くの?
進め方
Powered by Rabbit 2.1.7
Page: 10
オススメの目的の実現方法
OSSの開発に参加
(詳細は勉強会の最後で)
進め方
Powered by Rabbit 2.1.7
Page: 11
今日の目的の実現方法
✓ 「知る→体験する」の狙い
✓ 説明→なるほど?(知る)
✓ 実践→実感!(体験する)
✓ ↑の対象
✓ どういうコード?
✓ どうやって書くの?
進め方
Powered by Rabbit 2.1.7
Page: 12
どういうコード?
読む人が
読みやすいなら
リーダブル
進め方
Powered by Rabbit 2.1.7
Page: 13
あなたのイメージは?
✓ 「誰しも」リーダブルだと思う
コードの書き方がある
(誤解を防ぐための補足:「多くの人が」ならあるよ!)
✓ すべてのコードを↑な書き方で
書ける
✓ ↑ならリーダブルコード
進め方
Powered by Rabbit 2.1.7
Page: 14
違う!
✓ 他の人がリーダブルだから
自分もリーダブルだと
思わなきゃいけないじゃない!
(誤解を防ぐための補足:自分も思ったならそれでよい)
✓ ↑を勘違いしている人が多い
進め方
Powered by Rabbit 2.1.7
Page: 15
リーダブルコード
読む人が
読みやすいなら
リーダブル
進め方
Powered by Rabbit 2.1.7
Page: 16
本にはこう書いている
コードは他の人が最短時間で理
解できるように書かなければい
けない。
[「1章 理解しやすいコード p. 3」より引用]
他の人(読む人)が理解しづらい→本が目指しているものじゃな
い
進め方
Powered by Rabbit 2.1.7
Page: 17
リーダブルコード
読む人が
読みやすいなら
リーダブル
進め方
Powered by Rabbit 2.1.7
Page: 18
今日の目的の実現方法
✓ 「知る→体験する」の狙い
✓ 説明→なるほど?(知る)
✓ 実践→実感!(体験する)
✓ ↑の対象
✓ どういうコード?
✓ どうやって書くの?
進め方
Powered by Rabbit 2.1.7
Page: 19
どうやって書くの?
✓ 読む人のことを考えて書く
✓ 読む人を「想像」は難しい
✓ 読む人の「経験」が たくさん あると簡単
✓ 書くだけじゃなく読む経験を!
✓ ただし、単に読む経験じゃない
✓ 「読みやすい」の経験が大事
進め方
Powered by Rabbit 2.1.7
Page: 20
「読みやすい」の経験
✓ 「読みやすい」経験を再現
✓ →読む人が読みやすいコード
リーダブルコード!
進め方
Powered by Rabbit 2.1.7
Page: 21
知ったこと
✓ どういうコード?
✓ 読む人が読みやすいコード
✓ どうやって書くの?
✓ 読みやすかった経験を再現
実践だ!
進め方
Powered by Rabbit 2.1.7
Page: 22
実践方法の概要
コードを
読まざるを得ない
状況で開発
進め方
Powered by Rabbit 2.1.7
Page: 23
実践
1. 全員共通の課題を用意
2. 課題を実装
まだ読む人視点はないけどリーダブルコードで書く
3. 実装を交換
4. 交換した実装で開発継続
✓ ↑他の人のコードを読まないと
継続して開発できない!
「読みやすい」経験を積む→
それを活かしてリーダブルコードで書く
進め方
Powered by Rabbit 2.1.7
Page: 24
今日の流れ - 午前
✓ 10:00- 進め方の説明
✓ 10:40- 実装
✓ 12:00- 無料ランチ
(SEプラスさん提供!)
✓ 13:00- ランチセッション
進め方
Powered by Rabbit 2.1.7
Page: 25
今日の流れ - 昼下がり
✓ 13:30- メビュー
✓ 13:40- チェンジして実装
✓ 15:30- グループふりかえり
✓ 16:10- ふりかえり内容紹介
進め方
Powered by Rabbit 2.1.7
Page: 26
メビュー
✓ メビュー?(Mentor's View)
✓ レビューに似ているけど違う
✓ レビュー:問題を見つける
✓ メビュー:メンターの視点を共有
進め方
Powered by Rabbit 2.1.7
Page: 27
今日の流れ - 夕方
✓ 16:20- まとめ
✓ 16:30- メビュー・質疑応答
✓ 17:00- アンケート記入
✓ 17:30- 無料懇親会
進め方
Powered by Rabbit 2.1.7