Text
        
        
          Page: 1
          開発者は仕事で
リーダブルなコードを
書けるのか?
須藤功平
株式会社クリアコード
Developer Migration 2013
2013/03/02
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 2
          対象
開発者
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
        
        
          Page: 4
          例1: リーダブル?
class Person
def initialize
@mutex = Mutex.new
end
def name=(name)
@mutex.synchronize do
@name = name
end
end
end
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 5
          例2: リーダブル?
class Person
def initialize
@mutex = Mutex.new
end
def name=(name)
synchronize do
@name = name
end
end
def synchronize
@mutex.synchronize do
yield
end
end
end
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 6
          参考
Ruby コードの感想戦
✓ http://jp.rubyist.net/magazine/?0040-CodePostMortem
✓ http://jp.rubyist.net/magazine/?0041-CodePostMortem
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 7
          ヒント
✓ コードはコンピューターが
実行するだけではない
✓ 読む人がいる
✓ コードは書いた人の意図を語る
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 8
          リーダブルなコード
✓ わかりやすい(書いた人の意図が)
✓ 直しやすい
✓ 調べやすい
✓ 試しやすい
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
        
        
          Page: 10
          リーダブルな
コードって
うれしいの?
         
        
        
          Page: 11
          開発者として
ストレスが減る
(1)
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 12
          ストレス
なにしてるか
全然わからない
んだけど!
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 13
          ストレス
なにしたいか
全然わからない
んだけど!
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 14
          開発者として
楽しい
(2)
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 15
          楽しい
すぐに
対応できる
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 16
          すぐに対応
✓ こういうのが欲しいんだけど
✓ あ、ちょっと待ってください。
✓ こんな感じですか?
✓ →そう!こういうの!
✓ →あぁ、こうなるのかぁ。
じゃあ、なしで!
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 17
          すぐに対応
オレってば
スゲー感
http://kitaj.no-ip.com/tdiary/20040404.html#p05
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 18
          オレってばスゲー感を
✓ 他の人のコードで、じゃなく
✓ 自分たちのコードで!
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 19
          作らないのがいい?
✓ 本当に必要?検討しましょう!
✓ 必要?本当に?本当に?
✓ 考えている間に試したら?
✓ コードを書かない事が目指す事?
✓ 必要ないものに時間をかけない事
じゃない?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
        
        
          Page: 21
          コストが下がる
✓ 実サーバー → 仮想マシン
✓ すぐに追加できる
✓ すぐに削除できる
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 22
          試せる
✓ 実サーバー → 仮想マシン
✓ どのくらいあらかじめ用意する? →
✓ いつどうやって増減させる?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
        
        
          Page: 24
          リーダブルなコードなら
素早く
対応できる
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 25
          素早い対応
うわぁ!
こんなに素早く対応して
もらえるなんて!
ありがとう!
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 26
          素早くない対応
✓ このくらいで終わりそう
✓ でも、なんかあったらイヤだなぁ
✓ バッファで2倍かかることにしよう
✓ 困ったらすぐ相談じゃダメ?
✓ 全体でよくなるように進めないの?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 27
          信用
いつも素早く対応してくれる
人が時間がかかるっていうんだ
から大変なんだろう。
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 28
          チームとして
誰でも直せる
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 29
          誰でも直せる
✓ あるべき設計を維持できる
✓ ×担当じゃないからわからない…
✓ ×自分のところでなんとかするか…
✓ 助け合える
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 30
          誰でも直せる?
✓ 直せても直しちゃダメ?
✓ エンバグしたら責任が…
✓ できる人にだけ負荷がかかる?
✓ できる人ほどツライ…
✓ できない人の方が得?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 31
          開発者は
仕事で
リーダブルな
コードを
書けるのか?
         
        
        
        
        
          Page: 33
          コードレビュー
リーダブルなコードにするた
めにコードレビューっていうの
を導入したいけど他の人が読ん
でくれないからできない。
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 34
          答え
まず、
あなたが読んでみませんか?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 35
          時間がない
自分は他の人のコードを読ん
でいる時間ないし…
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 36
          答え
時間を決めて読んでみません
か?
ペースがわかったらどうやって
取り組んでいけばよいかアイデ
ィアが浮かぶと思いますよ。
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 37
          でも
でも、でも、でも…
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 38
          コミットへの
コメントサービス
クリアコードは、よいコード
を書くことを当たり前にするた
めには、まず「みんながみんな
のコードを読む」文化にするこ
とからはじめるのがよいと考え
ます。
http://www.clear-code.com/services/commit-comment.html
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 39
          B2D
Business to
Developer
         
        
        
          Page: 40
          なんで読むの?
✓ 読まないと
読みやすいコードは書けない
✓ 読む人を想像しろなんてムリ
✓ 自分が読む人になる
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 41
          あなたが読む事を支援
✓ どうやって読むの?
✓ よいところを学ぶ
✓ 悪いところ探しではない!
✓ どういうタイミングで?
✓ pushとかcommitした後
✓ 一区切り付いているでしょ?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 42
          みんなが読む事を支援
✓ こうすると読みやすいですよ
✓ 読みにくいコードばかりだと
続けられない
✓ よいコードを見た!→
真似してコミット
✓ いいね!しているだけじゃない
✓ 行動しているからより本物
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 43
          コミットコミュニケーション
✓ 他の人が何をしているかわかる
✓ あの人はあそこらへん詳しそう
✓ 相談してみよう
✓ 他の人が困っていないかわかる
✓ この1時間ひとつもコミットしていな
いけど大丈夫?
✓ このコミットすごいごちゃごちゃし
てるけど悩んでる?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 44
          毎日↓をコミット
✓ 今日どれくらい読めたか
✓ 感覚で。70%とか。
✓ 今日印象に残ったコミット
✓ メモリリーク直った!
✓ 今日の一言感想
✓ 自分のコミットが真似されていた!
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 45
          さいごに
✓ リーダブルなコードが大事そう
な気がしましたか?
✓ 仕事でリーダブルなコードを書
けそうですか?
✓ 支援があれば書けそうですか?
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 46
          いや、でも…
自分の会社は横のつながりを
推奨していないので…
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7
         
        
        
          Page: 47
          答え
オープンソースソフトウェア
の開発に参加してみませんか?
そこで体験してよかったら自分
の言葉で説明できるはず。
開発者は仕事でリーダブルなコードを書けるのか?
Powered by Rabbit 2.0.7