Rabbit Slide Show

リーダブルコードを読んだ後

2012-12-16

Description

DevLOVE 2012での「リーダブルコードを読んだ後」というセッションで説明のために使ったスライドです。セッションの内容は、リーダブルコードに書かれていることを実際に使うためにはどうすればよいかということを実際にやってみるというものです。ワークショップ形式のセッションです。

Text

Page: 1

リーダブルコードを
読んだ後
須藤功平
株式会社クリアコード
DevLOVE 2012
2012/12/16
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 2

やること
クリアコードの
開発方法を体験
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 3

目標
リーダブルコードを
当たり前にする
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 4

イベントのテーマ
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 5

目標
あなたが
リーダブルコードを
当たり前にする
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 6

やること
✓ クリアコードの開発方法を体験
✓ 対象: 野生のフリーソフトウェア
✓ 読む人を「想像」しない
✓ 読む人を「思い出す」
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 7

想像上の誰か
想像上の誰かが自分のコード
を理解しやすいかなんて考える
のは大変なことだ。
[「リーダブルコード 1.5 でもやるんだよ」より引用
]
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 8

想像しない
✓ 読む人を「想像」しない
✓ 読む人を「思い出す」
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 9

思い出すには?
読む人になる
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 10

クリアコードの開発方法
✓ コミットメールが全員に届く
(diff入り)
✓ 全員が読む
✓ 気になったらコメント
(プロジェクト外の人でも)
✓ 「昨日印象に残ったコミット」
を朝会で報告
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 11

ポイント
✓ 全員が書く人で読む人
✓ 書く時:
✓ 読む時の事を思いながら
(こう書くと読みやすいんだよな。)
✓ 読む時:
✓ 書く時の事を思いながら
(これ読みやすいから今度同じように書こう。)
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 12

当日は
省略

Page: 13

なぜリーダブルコード?
開発を
続けるため
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 14

メリット
✓ メンテナンスコストを低く保つ
(開発を続けるわりにあわなくなってしまう)
✓ 機能追加・変更をしやすくする
(使われないものになって開発する必要がなくなる)
✓ プログラマーの意欲を保つ
(プログラマーも人です)
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 15

注意
✓ すべてを解決するわけではない
✓ よりよくする重要な方法の1つ
✓ トレードオフ
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 16

メンテナンスコスト
メンテナンスコストを低く保
つためにずっとリファクタリン
グをし続けると…高いメンテナ
ンスコスト
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 17

素早い変更
素早く機能追加・変更できる
よう、リーダブルコードにする
ために必要な時間を確保して開
発しているのに、機能を追加し
たいというと必ず1週間以上は
必要だと言われる…素早くない
変更
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 18

ゴール
✓ 本末転倒にならないように!
✓ リーダブルコードを書くことは
ゴールじゃない
✓ 効率よく目的を実現するのがゴール
(今だけ効率がよければよいのではない。念のため。)
✓ 手早くリーダブルコードを
書けるようになろう!
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 19

なぜコミットメール?
ペアプロより
スケールする
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 20

ペアプロ
✓ 常にコードレビュー
✓ 2人だけ
✓ 時間をあわせる
✓ 距離をあわせる
✓ プロジェクトをあわせる
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 21

コミットメール
✓ 常にコードレビュー
✓ 2人以上も読める
✓ 時間がずれてもよい
✓ 距離がずれてもよい
✓ プロジェクトがずれてもよい
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 22

コミット
ペアプロしているように!
✓ 小さくコミット
✓ 意図が伝わるコミット
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 23

ペアプロの方がよいこと
全体の設計とかもみれる
✓ コミットメールだけだとムリ
✓ pull requestだけでもムリ
✓ 一緒に書いていないとムリ
(同じプロジェクトだといけそう)
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 24

ここまで
飛ばす

Page: 25

確認
事前課題
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 26

事前課題
1. リーダブルコードを読む
2. Rubyコードの感想戦を読む
3. github://clear-code/git-utils
をfork
4. commit-email.rbを読む
✓ Rubyコードの感想戦のように読む
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 27

事前課題確認1
1. リーダブルコードを読む
2. Rubyコードの感想戦を読む
3. github://clear-code/git-utils
をfork
4. commit-email.rbを読む
✓ Rubyコードの感想戦のように読む
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 28

事前課題確認2
1. リーダブルコードを読む
2. Rubyコードの感想戦を読む
3. github://clear-code/git-utils
をfork
4. commit-email.rbを読む
✓ Rubyコードの感想戦のように読む
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 29

事前課題確認3
1. リーダブルコードを読む
2. Rubyコードの感想戦を読む
3. github://clear-code/git-utils
をfork
4. commit-email.rbを読む
✓ Rubyコードの感想戦のように読む
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 30

事前課題確認4
1. リーダブルコードを読む
2. Rubyコードの感想戦を読む
3. github://clear-code/git-utils
をfork
4. commit-email.rbを読む
✓ Rubyコードの感想戦のように読む
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 31

むずかしい?
✓ 「うまくできない」は今のうち
✓ 聞けば答えます
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 32

進め方
✓ 読み手になる: 15分
✓ 事前課題をやっていない人:
Rubyコードの感想戦を読
む
✓ 読み手目線で書く: 15分
✓ 事前課題をやっていない人:
読み手になる
✓ 質疑応答: 10分
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 33

読み手になる: 15分
1. 数人のグループを作る
2. グループ用のgit-utilsをclone
3. 読んでcommit & push
✓ リーダブルなら理由をコメントと
して書く
✓ リーダブルじゃないなら直してコ
ミットメッセージで理由を説明
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 34

読み手目線で書く: 15分
1. 他のグループのリポジトリの
コミットを確認
コミットメールが届いているはず
✓ 自分達にピンとこないものを選ぶ
✓ 直してメッセージで理由を説明
✓ コードで伝える
2. 自分たちのリポジトリを確認
3. 繰り返す
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 35

質疑応答: 10分
✓ 気になったコミットは?
✓ やってみて困ったことは?
✓ 実践すると困りそうなことは?
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Page: 36

宣伝
コミットへのコメントサービス
https://www.clear-code.com/services/#commit-comment
お客様の開発プロジェクトの
コミットを読んでコメントする
ことにより、お客様の開発チー
ムが「当たり前のようにクリア
なコードを書く文化」を育むこ
とを支援します。
リーダブルコードを読んだ後
Powered by Rabbit 2.0.6

Other slides