katapedia
  • README
  • doc
    • Ansible
    • Assert
    • Astah
    • Autohotkey
    • CI
    • C_Cpp
    • CentOS6x系でhttp認証に失敗する
    • Chef
    • Clipboard
    • コーディング
    • Configure
    • Console2_NYAOS
    • Debian系RedHat系の違い
    • DesignDoc目次サンプル
    • Docker
    • Doxygenコメント規約
    • Eclipse
    • Excel
    • FAQ
    • Footer
    • Git
    • GitBucket
    • GitBucketとJenkins連携
    • GitBucketとRocketChat連携
    • GitHub
    • GitLab
    • Gitで大量のファイルの中から必要ファイルのみをaddする方法
    • GitのGUI比較
    • Gitのリポジトリがでかくなったときの削減の昔のやり方
    • Gitワークフロー
    • Go
    • Googletest
    • Gradle
    • Grafana
    • Groovy
    • Haroopad
    • Haskell
    • Htmlpdfに直リンクする(ダウンロードしない)方法
    • IT業界
    • Java
    • Javascript
    • Javascriptrライブラリ・フレームワーク一覧
    • Jenkins
    • JetBrains_IDE
    • Linux
    • Linux Command
    • Linux Distribution
    • Makefile
    • Maven
    • MicrosoftProject
    • NoSQL
    • Omniauthによるアカウント統合
    • Outlook
    • PHP
    • Prometheus_Loki
    • Python
    • RDB
    • Redmine
    • RedmineDドライブへの保存
    • Redmineアップデート
    • Redmineプラグイン
    • Redmineメール通知
    • Redmine文字化け
    • Ruby
    • Rust
    • R言語
    • SVN
    • Sidebar
    • Solaris
    • Staticまとめ
    • Terraform
    • Thinkpad
    • Tmux
    • ToDoリスト
    • UML
    • Vagrant
    • Vim/Neovim
    • VirtualBox
    • Visio
    • Webアプリケーション
    • Webサーバ
    • Webブラウザ
    • Webブラウジング
    • Webページ備忘録
    • Windows
    • Word
    • Zabbix
    • Zsh
    • C#
    • dotfiles
    • html_css
    • Lua
    • sonarqube
    • terminal
    • tweetまとめ
    • xrdp
    • お預り証サンプル
    • その他Webサービス
    • その他ツール
    • よく使う英語
    • アジェンダサンプル
    • アジャイル宣言
    • アンチパターン
    • インシデント
    • エディタ・IDE
    • エンジニアリングスキル
    • オンプレミスサーバ管理
    • オープンソースライセンス
    • キックオフミーティング
    • コミットメッセージでよく使う英語
    • サーバデータ移行
    • サーバ環境構築
    • シェルスクリプト
    • セキュリティ
    • ソフトウェア開発
    • チャットツール
    • チーム構築
    • ツール調査履歴
    • テスト
    • デザイン
    • デザインパターン
    • ドキュメント
    • ネットワーク
    • ノート
    • バージョン番号
    • ビジネスモデル
    • プラクティス一覧
    • プラグイン調査
    • プログラマがやってはいけない97のこと
    • プログラミングテクニック
    • プログラム
    • プログラムエラー集
    • プロジェクトマネージメント
    • プロダクトマネージメント
    • ヘルプ文
    • ライフハック
    • リソース設計
    • リバースエンジニアリングツール
    • リリースノート
    • リリースノートサンプル1
    • リンク
    • レビュー
    • 人月の神話
    • 人間のあれこれ
    • 仕事のあれこれ
    • 会議
    • 作業報告項目サンプル
    • 例外処理
    • 勉強
    • 名言・教訓
    • 品質管理
    • 教育
    • 数学
    • 文書レビュー観点
    • 朝会
    • 未来技術
    • 林檎の木のものを持ってきた
    • 正規表現
    • 物理
    • 知識データベース
    • 紛らわしい・似たような用語
    • 経営
    • 経済
    • 自作template_class_でundefined_reference_to
    • 要求分析・要件定義
    • 見積もり
    • 設計
    • 評価
    • 認証
    • 議事録サンプル
    • 運用・保守
    • 開発インフラ
    • 開発環境
    • 開発計画
    • 関数名でよく使われる英単語
    • 関数命名規約
    • 関数型言語
    • 雑多メモ
    • 面接
Powered by GitBook
On this page
  • ガイド
  • コメントするときの注意事項
  • べからず集
  • レビューア(レビューする人)べからず集
  • レビューイ(レビューされる人)べからず集
  • コードレビュー
  • 詳細設計レビュー
  • 管理者としての懸念事項
  • レビューする視点
  • コードレビュー
  • 秘訣
  • チェックリスト
  1. doc

レビュー

PreviousリンクNext人月の神話

Last updated 5 years ago

ガイド

コメントするときの注意事項

べからず集

レビューア(レビューする人)べからず集

  • もやっと指摘するべからず(もう少しわかりやすくなど)。改善案と具体例を示してすべし。

レビューイ(レビューされる人)べからず集

  • フィールドの更新を忘れずべからず。

  • フォントの統一を忘れるべからず。

コードレビュー

こっちは自動でやる

• コードフォーマット

• 眼鏡を外してレビュー

• 記述が分かりやすいか

• セキュリティ担保

• パフォーマンス担保

リリースしたら価値が届く、本来レビューすべきだったもの

• コードが仕様を満たしているか

• 仕様に考慮漏れが無いか

• エンバグは無いか

• 良い設計をしているか

詳細設計レビュー

管理者としての懸念事項

  1. I/F誤りによる混乱

  2. 低性能による性能改善工数増加

  3. 機能バグによる手戻り

  4. 低保守性による工数増加

  5. 低拡張性による機能制限

  6. セキュリティ考慮不足による被害

  7. DB定義変更による混乱

  8. 要件実装漏れによる追加開発

  9. データ破壊による業務へのインパクト

  10. コミュニケーションロスの発生

レビューする視点

  1. 見た目の(体裁)の読みやすさ

  2. 入出力関係の正しさ

  3. データ操作の正しさ

  4. 認識・理解誤りの発生の少なさ

  5. 要件の網羅度

  6. 実装・保守の容易さ

  7. 論理的な正しさ

  8. プロジェクトルールの遵守度

  9. 機能使用の安全性

  10. 動作時の性能

コードレビュー

秘訣

  1. レビューの観点を明確にすること

  2. 我が身に返ることを恐れずに指摘すること

  3. 何故悪いコードなのかを論理的に説明すること

  4. 良いコードについて共通認識を持つこと

  5. 小さい単位でレビューを繰り返すこと

  6. 指摘は素直な気持ちで受け入れること

  7. 指摘は人格否定でないことを理解すること

チェックリスト

  • ブランチのテーマとは関係のないコードが含まれていないか

  • コミットメッセージは簡潔かつ分かりやすいか

  • 責務に応じてリファクタリングされているか

  • メソッドを不必要にpublicにしていないか

  • コードは読みやすいか/分かりやすいか

  • クラス/メソッド/変数の名前は適切か

  • 既存コードとの重複はないか

  • 既存コードに影響を及ぼさないか

  • コメントが必要な箇所はないか

  • デバッグ用のコードは残っていないか

  • もっとよいコードにできないか

  • ファイル名は適切か

  • 不要なファイルをコミットしていないか

  • typoはないか

  • コーディング規約に則っているか

  • バリデーションは適切か

  • セキュリティ上のリスクはないか

  • フレームワークのレールから外れていないか

  • ライブラリで代替できる処理はないか

  • 将来的な負債は予期されないか

  • トランザクションが必要な箇所はないか

  • キャッシュが必要な箇所はないか

  • 不必要なSQLを発行していないか

  • テストケースは十分か

  • 境界条件で正常に動作するか

  • エラーハンドリングは必要な箇所で行なわれているか

https://google.github.io/eng-practices/
https://developers-jp.googleblog.com/2019/12/respectful-reviews.html