SlideShare a Scribd company logo
1 of 62
Download to read offline
「速」を落とさない
コードレビュー
2017-01-28 Forkwell Meetup #3
Productivity Engineering
大仲 能史 a.k.a. @onk
自己紹介
• 大仲 能史 a.k.a. @onk
• 株式会社ドリコム 11年目
– アプリケーションスペシャリスト
– Rails 歴が一番長くて 8 年ぐらい
• 趣味
– コードを読むこと
• 社内リポジトリ 1800 のうち 300 ぐらい watch 中
– 社内ツール作成
1
宣伝
• ドリコムは Elixir CONF Japan 2017 の
Gold Sponsor です
– セッションもあるよ
• Elixir, Ruby エンジニアに限らず
色んな職種を積極採用中なので
交流タイムに声かけてください!
2
今日の話
ユーザに
価値を
届ける
3
最低限の
品質を
保つ
レビュー
の基盤を
作る
前提
• 事業会社の話
– 人月単価ではないサービスを提供している
• Pull Request 駆動開発をしている
– これができていない場合は
「マジカルsvnとキュアgit」
を見てください
4
http://www.slideshare.net/takafumionaka/20130322-svngit
やってしまったレビュー風景
5
やってしまったレビュー風景
6
100コメントにかかる時間
• Pull Request が出る
• 気づく (5min)
• やりたいことを把握する (5min)
• コメントする (10min)
• レスがある or 修正のコミットがある (120min)
• ↑をn往復 (10~20hour)
• 何も成果がリリースされないまま1日が終わる
7
何もリリースできない徒労感
かつ
ひたすら指摘され続けて疲弊
8
このコードレビューでは
何をやっていたのか
9
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
10
• コードが仕様を満たして
いるか
• 仕様に考慮漏れが無いか
• エンバグは無いか
• 良い設計をしているか
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
11
• スペースとかインデン
トとか typo とか
= の右に半角スペースが2つあります
シングルクォートじゃなくダブル
クォートを使うようにしてください
regist m9(^Д^)プギャー
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
12
• メソッドの長さとか
ネストの深さとか
http://postd.cc/code-review-without-your-glasses/
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
13
• メソッド/変数名とか
簡潔なロジックとか
guard 句で早めに raise したい
Array#detect 使うともっとシンプル
score って変数に kind の値が入っ
てるけど score じゃないような
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
14
ユーザ入力をそのまま ORDER BY に
入れたらダメです。asc, desc かど
うかを確かめてから
HTML を自前で組み立てていて、
XSS 脆弱性があります
validate するようにしてください
UNIQUE 制約忘れずにー
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
15
N+1 気を付けてー
不要なインスタンスを作らない
二重ループになっているけど、工夫
したらループ1回で済みます
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
16
• コードが仕様を満たして
いるか
• 仕様に考慮漏れが無いか
• エンバグは無いか
• 良い設計をしているか
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
17
最低限の守りたい品質
コードレビューでやったこと
リリースしたら価値が届
く、本来レビューすべき
だったもの
18
• コードが仕様を満たして
いるか
• 仕様に考慮漏れが無いか
• エンバグは無いか
• 良い設計をしているか
コードレビューでやったこと
• コードフォーマット
• 眼鏡を外してレビュー
• 記述が分かりやすいか
• セキュリティ担保
• パフォーマンス担保
19
最低限を満たしていな
いと、違和感が酷くて
本来のレビューに入る
ことができない
「最低限の水準を保とう」
という話をし過ぎると
スピードが低下する
20
でも最低限の水準にはなる
21
最低限を満たすのにレビューは要るのか
• コードフォーマット
– コードフォーマッタで自動修正
– スタイルガイドを作って配布
• 眼鏡を外したレビュー
– 行数やネスト、循環的複雑度やABC Metric等、機械的に指摘
できる
• Rubyらしさとか、他のメソッド名との整合性とか
– まだレビューが必要だが、数年後には自動化できそう
22
最低限を満たすのにレビューは要るのか
• セキュリティ担保
– まだレビューが必要だが、良いフレームワークを使うことで
足元を撃ち抜かない書き方を強制できる
• パフォーマンス担保
– まだレビューが必要だが、例えば N+1 を自動検出するツール
は存在するので上手に使おう
23
最低限の品質を
機械的にチェック
することができる
24
機械相手に試行錯誤する環境を
作るとレビューコストが大幅減
25
本来レビューすべきだったもの
リリースしたら価値が届
く、本来レビューすべき
だったもの
26
• コードが仕様を満たして
いるか
• 仕様に考慮漏れが無いか
• エンバグは無いか
• 良い設計をしているか
本来レビューすべきだったもの
もっと短縮できないだろうか?
27
コード差分の理由を書く
28
http://techlife.cookpad.com/entry/2015/03/30/174713
僕がよく使うフォーマット
• 目的
• 方針
• 実装
• テスト
• 相談
29
僕がよく使うフォーマット
• 目的
• 方針
• 実装
• テスト
• 相談
30
• この PR をマージすると以下のことが
できるようになりまぁす!
• 仕様書や Issue があればリンクを貼る
僕がよく使うフォーマット
• 目的
• 方針
• 実装
• テスト
• 相談
31
• 何を考えてこの PR を作ったのか、み
たいなのがあれば
• 考えた結果、除外したものがあれば
書いて欲しい
• 例) 「GitLab に似たような画面が
あったので同じ model 構造にした」
「1 万件程度なので LIKE 検索で十分
実用に耐える速度が出せると判断」
僕がよく使うフォーマット
• 目的
• 方針
• 実装
• テスト
• 相談
32
• 方針に沿って実装していく中でレ
ビュアーに伝えるべきものがあれば
補足
• コードだけだと実装意図を読み解き
づらい場合に図や疑似コードで流れ
を説明するとか
僕がよく使うフォーマット
• 目的
• 方針
• 実装
• テスト
• 相談
33
• マージボタンを押してもらうための
安心できる材料
• 例) 「実機で一覧表示を確認した」
「DBA にクエリを見てもらって OK
貰ってます」
僕がよく使うフォーマット
• 目的
• 方針
• 実装
• テスト
• 相談
34
• 書いてみたものの自信が無いところ
とか
• diff の中にラインコメントの形で書い
ても良い
PRの目的とコード差分が分かるように
もっと短縮できないだろうか?
35
レビューの前提条件を提示する
• レビュアーに求めているレビュー内容を書いておく
– 例) リリース直前なので、ブロッカーになるような不具合が無
いかどうかのチェックをお願いします
• これによって減るレビュー
– typo の指摘
– そもそも論
36
不要なレビューが減った
もっと短縮できないだろうか?
37
成果物が見える状態でレビューする
• Before/After のスクリーンショットを貼る
– 変化する対象がより分かりやすくなるので
マージしやすくなる
• Pull Request 単位で自動デプロイする
– 動作確認がサクッと終わるので
マージしやすくなる
38
マージまでが速くなった
もっと短縮できないだろうか?
39
方針の段階でレビューする
• 生煮え Pull Request (WIP)
– 「migration と routes 書いたら push してね」
– 全体を書く前にレビューすることができるので
無駄になるコード量が激減する
40
https://speakerdeck.com/ken_c_lo/pull-request-4-designers-
githubwoshi-tutapuroguramatodezainafalseitereteibunakai-fa-
huro
方針の段階でレビューする
• 設計レビュー
– 設計のみを Markdown で書いて Pull Request する
– description に書く場合と違い
• ラインコメントができる
• コメントに対する修正がコミットになり、追いやすい
41
http://blog.shibayu36.org/entry/2016/08/05/103000
もっと短縮できないだろうか?
42
サービス開発はゴールが分からないのが前提
• 不確実な状況下にある
– ユーザが本当に欲しいものって分かってる?
• 今見えるゴールが正解である保証も無い
• リリース後が 8 割
• サービスのリリースはスタートにすぎない
43
速い馬!
リリースを躊躇しない
• Pragmaticであること
Dogmaticにならないこと
• リリースしてから
Be Professional Day で
綺麗にする
44
https://speakerdeck.com/hirak/mercariday2017-api
ここまでのまとめ
45
レビュー
の基盤を
作る
ユーザに
価値を
届ける
最低限の
品質を
保つ
最低限の品質を保つ
• コーディング規約を用意する
• 機械に指摘させることで
– 一人で試行錯誤できる状況を作る
46
ユーザに価値を届ける
• レビューは「改善する」行為
– 改善は損失を減らすが、何かを作ってはいない
• レビューによってリリースが遅くなるのは本末転倒
• 素早くマージできる状態を作っていこう
– レビュアーとの意思疎通に気を払ってPull Requestを出す
47
レビューの基盤を作る
48
レビューの目的はさまざま
• 最低限の品質担保
• 不安の解消
• 属人化を防ぐ
• レビュイーの教育
• チームビルド
• etc…
49
関係性のアンチパターンがある
50
http://www.songmu.jp/riji/entry/2014-01-19-cross2014.html
レビュアー・レビュイーの関係性
• 問題 vs. 私たち、という大前提
– レビュイーは人格攻撃と受け取らない
– レビュアーは権威的になってはいけない
• フィードバックは感情を押し付けるも
のではなく、受け手が成果物をより良
くするために必要な情報を届けること
51
心理的安全性
• 不具合のある状態でリリースしたい人は居ない
– レビュイーは悪意でバグを作っているわけではない
– レビュアーは悪意で指摘しているわけではない
• というのを分かりやすくするために
– レビュイーは前提をしっかり提示する
– レビュアーは伝え方を丁寧にする
52
レビューは取り込むもの
• 本来コードレビュー文化のあるべき正しき姿はチーム間
で議論をしてサービスにとって最終的に良いと判断した
ことを取り込むこと
• レビュアーからレビュイーへの一方的な指摘にしない
– 納得をして「取り込む」
– 納得していれば「指摘対応」というコミットメッセージには
ならない
53
http://yutokyokutyo.hatenablog.com/entry/20161213/148159
0322
レビューは取り込むもの
• 納得していなかったら同じ指摘を繰り返すことになる
• レビュイーは納得していない指摘を繰り返し受ける
– やらされる感++
– 自己効力感—
• 権威に頼りつつレビューする
– 「条件式が分かりづらいです。リーダブル
コード 7.1 参照」
– リーダブルコード、リファクタリングがド安定
54
レビュアーが固定されている
• 常にベテラン → ルーキーの方向のレビューしか無い状態
は健全ではない
– ベテランの無駄遣い問題
• レビューコストを外して開発に専念して欲しい
– ベテランを信用しすぎ問題
– ルーキーの成長が悪い問題
• レビューはする側に回った方が教育効果が大きい
55
レビュイーからレビュアーへ
• 二段階レビューを導入
– ルーキーがレビューして、その後ベテランがレビューする
– ルーキーが見落としするたびに心に爪痕が残り、学ぶ
– ルーキーで役に立つのか?は、やり方次第
• 「ここよく分かんないです」を言うだけで価値がある
• 分かりづらい部分はだいたい怪しい
• テスト書いてなくね?も言って欲しい
• ルーキーから指摘する障壁をどんどん取り除きたい
56
レビュイーからレビュアーへ
• レビュータイムを設ける
– 全員がレビュアーとなる
– ルーキーからレビューする
障壁を外す
– 溜まったレビュー待ちの Pull Request が消化される
良い副作用もある
• 最初はそちらを目的にしていた
57
まとめ
58
今日の話
ユーザに
価値を
届ける
59
最低限の
品質を
保つ
レビュー
の基盤を
作る
レビューの基盤を作る
• レビュイーとレビュアーの関係性に気を遣う
– 「問題 vs. 私たち」
– 「空気を導入しない」
• レビュイーが育っていく道筋を敷く
– ルーキーだからレビュアーになれないわけではない
60
ご清聴ありがとうございました
61

More Related Content

What's hot

世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveTokoroten Nakayama
 
チケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へチケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へakipii Oga
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化Gosuke Miyashita
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチYoshiki Hayama
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話Tsuyoshi Ushio
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』Yoshitaka Kawashima
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込むYoshiki Hayama
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ増田 亨
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方Takafumi ONAKA
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 

What's hot (20)

世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLiveDXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
DXとかDevOpsとかのなんかいい感じのやつ 富士通TechLive
 
チケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へチケット駆動開発の解説~タスク管理からプロセス改善へ
チケット駆動開発の解説~タスク管理からプロセス改善へ
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
 
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』ソフトウェア開発における『知の高速道路』
ソフトウェア開発における『知の高速道路』
 
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む45分間で「ユーザー中心のものづくり」ができるまで詰め込む
45分間で「ユーザー中心のものづくり」ができるまで詰め込む
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツオブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
 
技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方技術記事を書く&楽しむチームの作り方
技術記事を書く&楽しむチームの作り方
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 

Viewers also liked

短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術Takafumi ONAKA
 
チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話Taichi Watanabe
 
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツShunji Konishi
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 

Viewers also liked (6)

短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
 
チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話
 
JavaOne報告2017
JavaOne報告2017JavaOne報告2017
JavaOne報告2017
 
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 

Similar to 「速」を落とさないコードレビュー

プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」Shuji Morisaki
 
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワークリモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワークMaehana Tsuyoshi
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れIkeda Yosuke
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」nishikawa_makoto7
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshopDaisuke Sugai
 
わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46Atsuo Yamasaki
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016kyon mm
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱Koichi ITO
 
機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイントMiwa Kuramitsu
 
Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料Kakigi Katuyuki
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験についてRakuten Group, Inc.
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか真吾 吉田
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜Koichi ITO
 

Similar to 「速」を落とさないコードレビュー (20)

プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
リモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワークリモートチームとふりかえり改善フレームワーク
リモートチームとふりかえり改善フレームワーク
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れ
 
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」議論を描く技術「ファシリテーショングラフィック」
議論を描く技術「ファシリテーショングラフィック」
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
Intalio japan special cloud workshop
Intalio japan special cloud workshopIntalio japan special cloud workshop
Intalio japan special cloud workshop
 
わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46わんくま同盟 大阪勉強会 #46
わんくま同盟 大阪勉強会 #46
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント機能追加を行う際に考慮したい3つのポイント
機能追加を行う際に考慮したい3つのポイント
 
Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料Hiroshima Ruby Conference発表資料
Hiroshima Ruby Conference発表資料
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
今なぜサーバーレスなのか
今なぜサーバーレスなのか今なぜサーバーレスなのか
今なぜサーバーレスなのか
 
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
俺も受託開発〜準委任契約によるふつうのソフトウェア開発〜
 

More from Takafumi ONAKA

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持Takafumi ONAKA
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発Takafumi ONAKA
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Takafumi ONAKA
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!Takafumi ONAKA
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことTakafumi ONAKA
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはTakafumi ONAKA
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyistTakafumi ONAKA
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメTakafumi ONAKA
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースTakafumi ONAKA
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料Takafumi ONAKA
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgitTakafumi ONAKA
 
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんGithub Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんTakafumi ONAKA
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったTakafumi ONAKA
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しいTakafumi ONAKA
 
Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Takafumi ONAKA
 
ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀Takafumi ONAKA
 

More from Takafumi ONAKA (20)

不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持不正のトライアングルとコードベースの治安維持
不正のトライアングルとコードベースの治安維持
 
グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
pt-query-digest は Perl!!
pt-query-digest は Perl!!pt-query-digest は Perl!!
pt-query-digest は Perl!!
 
アプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のことアプリケーションを作るときに考える25のこと
アプリケーションを作るときに考える25のこと
 
cpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちはcpanfileがRubyでパースできることに気づいた俺たちは
cpanfileがRubyでパースできることに気づいた俺たちは
 
Perl使いの国のRubyist
Perl使いの国のRubyistPerl使いの国のRubyist
Perl使いの国のRubyist
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメ
 
RSpecしぐさ
RSpecしぐさRSpecしぐさ
RSpecしぐさ
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
クローズドソースから始めるオープンソース
クローズドソースから始めるオープンソースクローズドソースから始めるオープンソース
クローズドソースから始めるオープンソース
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料ドリコム×ピクシブ 社会人交換留学説明資料
ドリコム×ピクシブ 社会人交換留学説明資料
 
すこやかRails
すこやかRailsすこやかRails
すこやかRails
 
マジカルsvnとキュアgit
マジカルsvnとキュアgitマジカルsvnとキュアgit
マジカルsvnとキュアgit
 
Github Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃんGithub Enterprise じゃなくてもいいじゃん
Github Enterprise じゃなくてもいいじゃん
 
ターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作ったターミナルで画像確認するヤツ作った
ターミナルで画像確認するヤツ作った
 
Webアプリケーションは難しい
Webアプリケーションは難しいWebアプリケーションは難しい
Webアプリケーションは難しい
 
Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?Rails3.2ってどう変わるの?
Rails3.2ってどう変わるの?
 
ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀ドリコム的Railsアプリ開発流儀
ドリコム的Railsアプリ開発流儀
 

Recently uploaded

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 

Recently uploaded (7)

IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 

「速」を落とさないコードレビュー