SlideShare una empresa de Scribd logo
1 de 41
Descargar para leer sin conexión
SonicGarden	
  Study	
  11	
  #sg_study	
  
いつまでクソコードを
書き続けるの?
デキるプログラマだけが知っている
コードレビュー7つの秘訣
ソニックガーデン 西見 公宏
1	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
西見 公宏
Nishimi Masahiro
2	
  
自己紹介
SonicGarden	
  Study	
  11	
  #sg_study	
  
西見 公宏 Masahiro Nishimi
@mah_lab
昭和58年生まれ 東京育ち
2児(双子)の父親です
3	
  
今日お話する内容
1. クソコードとは何か?
2. 優れたプログラマとは何か?
3. コードレビューが改善の近道
4. コードレビュー7つの秘訣
SonicGarden	
  Study	
  11	
  #sg_study	
   4	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
1. クソコードとは何か?
5	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
「クソコード」とは・・・
6	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
「クソコード」とは・・・
読む人を怒りの渦に
叩きこむコードである
7	
  
つまり
•  「クソコード」とは読んだ人の怒りを体
現した言葉である。
SonicGarden	
  Study	
  11	
  #sg_study	
   8	
  
クソコード3つの特徴
1. 読めないコード
–  変数名が暗号/制御フローが無駄に複雑/メソッド名と処理の
内容が合ってない etc...
2. 要領の悪いコード
–  言語レベルで用意されている機能を素直に使わない(例:Go
を使っているのにゴルーチンを使わない) etc...
3. 意図がわからないコード
–  フレームワークのレールに従っていない etc...
SonicGarden	
  Study	
  11	
  #sg_study	
   9	
  
クソコードかどうかは
読まれるまで分からない
•  シュレディンガーの猫
•  読んだ人の当事者感によって度合いが変わ
る(例:「え、このコード、俺がメンテするの!?」)
•  自分で読んでダメだと思うなら、最初から
直して・・・。
SonicGarden	
  Study	
  11	
  #sg_study	
   10	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
2. 優れたプログラマとは何か?
11	
  
優れたプログラマ3つの特徴
1. 「読めないコード」を書かない。
–  読みやすいコードを書く。
2. 「要領の悪いコード」を書かない。
–  言語の特性を活かした要領の良いコードを書く。
3. 「意図のわからないコード」を書かない。
–  設計の意図が明確である。
SonicGarden	
  Study	
  11	
  #sg_study	
   12	
  
優れたプログラマを見極める簡単な試験
書いたコードの1行1行に対して、
以下の項目を質問する。
l どういう処理なのか?
l どういう意図で書いたのか?
SonicGarden	
  Study	
  11	
  #sg_study	
   13	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
3. コードレビューが改善の近道
14	
  
まずは読まれなければはじまらない
SonicGarden	
  Study	
  11	
  #sg_study	
   15	
  
読む人に怒りをもたらすのが
クソコード
ならば
読む人がいなくては
はじまらない
誰に読まれるのがベストか?
SonicGarden	
  Study	
  11	
  #sg_study	
   16	
  
優れたプログラマ
何故優れたプログラマが読むべきなのか?
SonicGarden	
  Study	
  11	
  #sg_study	
   17	
  
•  単純に同じレベルのプログラマが指摘しても、
指摘の内容に限界があるため。
限界の壁
優れたプログラマは限界を引き上げます
SonicGarden	
  Study	
  11	
  #sg_study	
   18	
  
•  レビューの中で小手先のテクニックに終始しない「優れ
たプログラマの考え方」を伝えていくことで、チームの
限界を引き上げていきます。
•  いくら優れたプログラマと言えども、闇雲にレビューを
するのでは効果がありません。
ただし・・・
SonicGarden	
  Study	
  11	
  #sg_study	
   19	
  
・・・
•  ソニックガーデンでも新しく入ったプログラマを教育す
る手段としてコードレビューを取り入れています。
•  その中で気付いたポイントをいくつかピックアップしま
した。
•  それが今からお伝えする「7つの秘訣」です。
より効果を上げるために
SonicGarden	
  Study	
  11	
  #sg_study	
   20	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
4. コードレビュー7つの秘訣
21	
  
1. レビューの観点を明確にすること
SonicGarden	
  Study	
  11	
  #sg_study	
   22	
  
1. レビューの観点を明確にすること
•  リリース前レビューの話なのか、コード品
質の話なのか。
•  読む側も漠然と読んで、漠然とコメントを
書くのでは効果を生まない。
– 観点を明確にしてレビューすることで指摘す
る側の精度も上がります。
SonicGarden	
  Study	
  11	
  #sg_study	
   23	
  
2. 我が身に返ることを恐れずに指摘す
ること
SonicGarden	
  Study	
  11	
  #sg_study	
   24	
  
2. 我が身に返ることを恐れずに指摘するこ
と
•  自分のことは棚に上げる!
•  鋭くツッコミを入れられないなら、レ
ビューの意味は無い。
•  指摘して自分の耳が痛いなら、自分にとっ
ても成長のチャンスだと捉える。
SonicGarden	
  Study	
  11	
  #sg_study	
   25	
  
3. 何故悪いコードなのかを論理的に
説明すること
SonicGarden	
  Study	
  11	
  #sg_study	
   26	
  
3. 何故悪いコードなのかを論理的に説明す
ること
•  「何となく汚い」は指摘ではない。
•  悪いコードだと判断したなら、相手が納
得できるように、論理的に説明する。
•  論理的に説明できないなら指摘をすべきで
はない。
SonicGarden	
  Study	
  11	
  #sg_study	
   27	
  
4. 良いコードについて共通認識を持つ
こと
SonicGarden	
  Study	
  11	
  #sg_study	
   28	
  
4. 良いコードについて共通認識を持つこと
•  コードレビューのあとに雰囲気が悪くなるの
はチームで「良いコード」の認識が揃ってい
ない証拠。
•  「良いコード」を共有することでチームとし
て成長する。
•  認識を揃えるためには、あるコードを題材に
ディスカッションの機会を設けると良い。
SonicGarden	
  Study	
  11	
  #sg_study	
   29	
  
SonicGarden	
  Study	
  11	
  #sg_study	
   30	
  
チームでディスカッションの
機会を持つ例
5. 小さい単位でレビューを繰り返すこ
と
SonicGarden	
  Study	
  11	
  #sg_study	
   31	
  
5. 小さい単位でレビューを繰り返すこと
•  大きな単位だとレビューする側もされる
側も出番が回ってきにくい。
– 機会を増やすことでみんながレビュー体験を
する/小口化することで習慣化する
•  チーム全体で誰かの書いたコードをレ
ビューするのも有効。
SonicGarden	
  Study	
  11	
  #sg_study	
   32	
  
6. 指摘は素直な気持ちで受け入れるこ
と
SonicGarden	
  Study	
  11	
  #sg_study	
   33	
  
6. 指摘は素直な気持ちで受け入れること
•  指摘を素直に受け止められないと成長で
きない。
•  受け入れた後は同じ失敗を繰り返さない。
– 漠然とコードレビューを受けて、その場はそ
の場で何とかやり過ごして、また同じ失敗を
繰り返すメンタルモデルではダメ。
SonicGarden	
  Study	
  11	
  #sg_study	
   34	
  
7. 指摘は人格否定でないことを理解す
ること
SonicGarden	
  Study	
  11	
  #sg_study	
   35	
  
7. 指摘は人格否定でないことを理解するこ
と
•  自分が一生懸命書いたコードに対して手厳
しく指摘を受けるのは辛いこと。。
•  でも、指摘するのはコードであって、あな
たの人格を否定しているわけではありませ
ん!
•  お互いに「コード」の話をしている、とい
うことを理解した上で指摘をしましょう。
SonicGarden	
  Study	
  11	
  #sg_study	
   36	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
まとめ
37	
  
今日お話した内容
1. クソコードとは何か?
2. 優れたプログラマとは何か?
3. コードレビューが改善の近道
4. コードレビュー7つの秘訣
SonicGarden	
  Study	
  11	
  #sg_study	
   38	
  
今日お話した内容
•  クソコードとは読む人を怒りの渦に叩き
こむコードである。
•  優秀なプログラマに読まれる機会があれ
ば、その人のコードは劇的に改善する。
 (※ 効用には個人差があります)
SonicGarden	
  Study	
  11	
  #sg_study	
   39	
  
今日お話した内容
1.  レビューの観点を明確にすること
2.  我が身に返ることを恐れずに指摘すること
3.  何故悪いコードなのかを論理的に説明すること
4.  良いコードについて共通認識を持つこと
5.  小さい単位でレビューを繰り返すこと
6.  指摘は素直な気持ちで受け入れること
7.  指摘は人格否定でないことを理解すること
SonicGarden	
  Study	
  11	
  #sg_study	
   40	
  
SonicGarden	
  Study	
  11	
  #sg_study	
  
ご視聴ありがとうございました!
41	
  

Más contenido relacionado

La actualidad más candente

世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていることonozaty
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?Yoshitaka Kawashima
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメYoji Kanno
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるpospome
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019Tokoroten Nakayama
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説murachue
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方Shohei Koyama
 

La actualidad más candente (20)

世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメオブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
チャットコミュニケーションの問題と心理的安全性の課題 #EOF2019
 
目grep入門 +解説
目grep入門 +解説目grep入門 +解説
目grep入門 +解説
 
インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方インフラエンジニアの綺麗で優しい手順書の書き方
インフラエンジニアの綺麗で優しい手順書の書き方
 

Destacado

良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツShunji Konishi
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
オブジェクト指向やめましょう
オブジェクト指向やめましょうオブジェクト指向やめましょう
オブジェクト指向やめましょうなおき きしだ
 
カンバンゲーム カード(全種類)
カンバンゲーム カード(全種類)カンバンゲーム カード(全種類)
カンバンゲーム カード(全種類)Yasui Tsutomu
 
チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話Taichi Watanabe
 
異文化コミュニケーション体感ゲーム「バーンガ」
異文化コミュニケーション体感ゲーム「バーンガ」異文化コミュニケーション体感ゲーム「バーンガ」
異文化コミュニケーション体感ゲーム「バーンガ」Jun Chiba
 
カンバンゲーム ルール説明
カンバンゲーム ルール説明カンバンゲーム ルール説明
カンバンゲーム ルール説明Yasui Tsutomu
 
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術Takafumi ONAKA
 
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしいke-m kamekoopa
 
コードレビューのススメ
コードレビューのススメコードレビューのススメ
コードレビューのススメkawahira kazuto
 
設計してますか?
設計してますか?設計してますか?
設計してますか?ke-m kamekoopa
 
C#アプリの作り方入門
C#アプリの作り方入門C#アプリの作り方入門
C#アプリの作り方入門森理 麟
 
Cしゃーぷができるまで
CしゃーぷができるまでCしゃーぷができるまで
Cしゃーぷができるまで信之 岩永
 
コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道なおき きしだ
 
プログラマは何を勉強するか
プログラマは何を勉強するかプログラマは何を勉強するか
プログラマは何を勉強するかなおき きしだ
 
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するNetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するなおき きしだ
 

Destacado (20)

良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
オブジェクト指向やめましょう
オブジェクト指向やめましょうオブジェクト指向やめましょう
オブジェクト指向やめましょう
 
JavaOne報告2017
JavaOne報告2017JavaOne報告2017
JavaOne報告2017
 
カンバンゲーム カード(全種類)
カンバンゲーム カード(全種類)カンバンゲーム カード(全種類)
カンバンゲーム カード(全種類)
 
Fearless Journey
Fearless JourneyFearless Journey
Fearless Journey
 
チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話チームとプロダクトをぶっ壊した話
チームとプロダクトをぶっ壊した話
 
異文化コミュニケーション体感ゲーム「バーンガ」
異文化コミュニケーション体感ゲーム「バーンガ」異文化コミュニケーション体感ゲーム「バーンガ」
異文化コミュニケーション体感ゲーム「バーンガ」
 
カンバンゲーム ルール説明
カンバンゲーム ルール説明カンバンゲーム ルール説明
カンバンゲーム ルール説明
 
短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術短期間で新技術を学ぶ技術
短期間で新技術を学ぶ技術
 
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい関数型もモナドも分からなくてもScalaと言う言語は便利らしい
関数型もモナドも分からなくてもScalaと言う言語は便利らしい
 
コードレビューのススメ
コードレビューのススメコードレビューのススメ
コードレビューのススメ
 
設計してますか?
設計してますか?設計してますか?
設計してますか?
 
C#アプリの作り方入門
C#アプリの作り方入門C#アプリの作り方入門
C#アプリの作り方入門
 
Cしゃーぷができるまで
CしゃーぷができるまでCしゃーぷができるまで
Cしゃーぷができるまで
 
コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道コンピューティングとJava~なにわTECH道
コンピューティングとJava~なにわTECH道
 
JavaOne2016報告
JavaOne2016報告JavaOne2016報告
JavaOne2016報告
 
プログラマは何を勉強するか
プログラマは何を勉強するかプログラマは何を勉強するか
プログラマは何を勉強するか
 
Javaプログラミング入門
Javaプログラミング入門Javaプログラミング入門
Javaプログラミング入門
 
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するNetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
 

Similar a デキるプログラマだけが知っているコードレビュー7つの秘訣

デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)Masahiro Nishimi
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~Hiroyuki Ohnaka
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめKouhei Sutou
 
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめリーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめKouhei Sutou
 
リーダブルコード
リーダブルコードリーダブルコード
リーダブルコードJun Ootani
 
Code for KOSEN meetup #3
Code for KOSEN meetup #3Code for KOSEN meetup #3
Code for KOSEN meetup #3Yoshihiro Wada
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-nishio
 
リーダブルコードを読んだ後
リーダブルコードを読んだ後リーダブルコードを読んだ後
リーダブルコードを読んだ後Kouhei Sutou
 
シナリオレビューという手法の提案
シナリオレビューという手法の提案シナリオレビューという手法の提案
シナリオレビューという手法の提案tuna cook
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジKouhei Sutou
 
「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!tq_ed
 
コンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうコンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうYu Tamura
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」Shuji Morisaki
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門Shuji Watanabe
 
Xp Terakoya No04
Xp Terakoya No04Xp Terakoya No04
Xp Terakoya No04takepu
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2Takuya Nishimoto
 
まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 Shinobu Okano
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジKouhei Sutou
 

Similar a デキるプログラマだけが知っているコードレビュー7つの秘訣 (20)

デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
デキるプログラマだけが知っているコードレビュー7つの秘訣(DevLove版)
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
 
SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめ
 
リーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめリーダブルコード勉強会 in 筑波大のまとめ
リーダブルコード勉強会 in 筑波大のまとめ
 
リーダブルコード
リーダブルコードリーダブルコード
リーダブルコード
 
Code for KOSEN meetup #3
Code for KOSEN meetup #3Code for KOSEN meetup #3
Code for KOSEN meetup #3
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
リーダブルコードを読んだ後
リーダブルコードを読んだ後リーダブルコードを読んだ後
リーダブルコードを読んだ後
 
TDDを研ぎ究める
TDDを研ぎ究めるTDDを研ぎ究める
TDDを研ぎ究める
 
シナリオレビューという手法の提案
シナリオレビューという手法の提案シナリオレビューという手法の提案
シナリオレビューという手法の提案
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
 
「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!
 
コンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうコンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おう
 
発見から納品へ
発見から納品へ発見から納品へ
発見から納品へ
 
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門
 
Xp Terakoya No04
Xp Terakoya No04Xp Terakoya No04
Xp Terakoya No04
 
opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2opensource and accessibility (Dec2000) Part 2
opensource and accessibility (Dec2000) Part 2
 
まったりAndroid framework code reading #1
まったりAndroid framework code reading #1 まったりAndroid framework code reading #1
まったりAndroid framework code reading #1
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
 

Más de Masahiro Nishimi

2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 KeynoteMasahiro Nishimi
 
技術的負債を生み出す構造とその対処について
技術的負債を生み出す構造とその対処について技術的負債を生み出す構造とその対処について
技術的負債を生み出す構造とその対処についてMasahiro Nishimi
 
「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組みMasahiro Nishimi
 
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組みMasahiro Nishimi
 
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09Masahiro Nishimi
 
ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発Masahiro Nishimi
 
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来Masahiro Nishimi
 
Agile samurai達が現場を変える
Agile samurai達が現場を変えるAgile samurai達が現場を変える
Agile samurai達が現場を変えるMasahiro Nishimi
 
Agile Samurai インセプションデッキ
Agile Samurai インセプションデッキAgile Samurai インセプションデッキ
Agile Samurai インセプションデッキMasahiro Nishimi
 

Más de Masahiro Nishimi (9)

2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote
 
技術的負債を生み出す構造とその対処について
技術的負債を生み出す構造とその対処について技術的負債を生み出す構造とその対処について
技術的負債を生み出す構造とその対処について
 
「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み
 
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
 
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
実践DevOps!SonicGarden流Herokuガチ運用術!SonicGarden Study #09
 
ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発ソニックガーデン流 無駄のないシステム開発
ソニックガーデン流 無駄のないシステム開発
 
[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来[RubyMotion LT] nitronに見るiosアプリ開発の未来
[RubyMotion LT] nitronに見るiosアプリ開発の未来
 
Agile samurai達が現場を変える
Agile samurai達が現場を変えるAgile samurai達が現場を変える
Agile samurai達が現場を変える
 
Agile Samurai インセプションデッキ
Agile Samurai インセプションデッキAgile Samurai インセプションデッキ
Agile Samurai インセプションデッキ
 

デキるプログラマだけが知っているコードレビュー7つの秘訣