SlideShare une entreprise Scribd logo
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	
  

Contenu connexe

Tendances

フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
Itsuki Kuroda
 
はじめてのPRD
はじめてのPRDはじめてのPRD
はじめてのPRD
Takuya Oikawa
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
Yoshinori Matsunobu
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
Shota Imai
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
泰 増田
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
Yusuke Hisatsu
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
Soudai Sone
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
Ore Product
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
Ken'ichi Matsui
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
Koichi Tanaka
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座
SEGADevTech
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
 

Tendances (20)

フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
はじめてのPRD
はじめてのPRDはじめてのPRD
はじめてのPRD
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書く
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1  ドメイン駆動設計の基本を理解する3週連続DDDその1  ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
 
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考えるGoのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
 
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
数学カフェ 確率・統計・機械学習回 「速習 確率・統計」
 
やはりお前らのMVCは間違っている
やはりお前らのMVCは間違っているやはりお前らのMVCは間違っている
やはりお前らのMVCは間違っている
 
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
 
基礎線形代数講座
基礎線形代数講座基礎線形代数講座
基礎線形代数講座
 
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテストゴリラテスト  モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
 

En vedette

良質なコードを高速に書くコツ
良質なコードを高速に書くコツ良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
オブジェクト指向やめましょう
オブジェクト指向やめましょうオブジェクト指向やめましょう
オブジェクト指向やめましょうなおき きしだ
 
JavaOne報告2017
JavaOne報告2017JavaOne報告2017
JavaOne報告2017
なおき きしだ
 
カンバンゲーム カード(全種類)
カンバンゲーム カード(全種類)カンバンゲーム カード(全種類)
カンバンゲーム カード(全種類)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道
なおき きしだ
 
JavaOne2016報告
JavaOne2016報告JavaOne2016報告
JavaOne2016報告
なおき きしだ
 
プログラマは何を勉強するか
プログラマは何を勉強するかプログラマは何を勉強するか
プログラマは何を勉強するか
なおき きしだ
 
Javaプログラミング入門
Javaプログラミング入門Javaプログラミング入門
Javaプログラミング入門
なおき きしだ
 
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定するNetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
NetBeansのメモリ使用ログから機械学習できしだが働いてるかどうか判定する
なおき きしだ
 

En vedette (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のメモリ使用ログから機械学習できしだが働いてるかどうか判定する
 

Similaire à デキるプログラマだけが知っているコードレビュー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 #3
Yoshihiro Wada
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
nishio
 
リーダブルコードを読んだ後
リーダブルコードを読んだ後リーダブルコードを読んだ後
リーダブルコードを読んだ後
Kouhei Sutou
 
シナリオレビューという手法の提案
シナリオレビューという手法の提案シナリオレビューという手法の提案
シナリオレビューという手法の提案
tuna cook
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
Kouhei Sutou
 
「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!「いいコード」をみんなで書こう!
「いいコード」をみんなで書こう!
tq_ed
 
コンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おうコンソールベタ打ち卒業:スクリプトエディタを使おう
コンソールベタ打ち卒業:スクリプトエディタを使おう
Yu Tamura
 
発見から納品へ
発見から納品へ発見から納品へ
発見から納品へ
You&I
 
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
 

Similaire à デキるプログラマだけが知っているコードレビュー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
 
実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ実践リーダブルコードのコードチェンジ
実践リーダブルコードのコードチェンジ
 

Plus 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 Keynote
Masahiro 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 #09
Masahiro 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
 

Plus 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つの秘訣