Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Gerrit #TechLunch

Gerrit #TechLunch

2012/06/27(水) @ Livesense TechLunch
発表者:塩足 拓也

E60aa4f80303f3f386898546ddb3686a?s=128

Livesense Inc.
PRO

April 23, 2014
Tweet

Transcript

  1. Gerrit Takuya Shiotari

  2. コードレビューとは ソフトウェア開発工程で見過ごされた誤りを検出・ 修正するためにソースコードの体系的な検査を行 うこと

  3. 良いコードを書くための5つの習慣 ▪ 読む ▪ 書く ▪ 道具を磨く ▪ 知る ▪

    聞く コードレビュー
  4. コードレビューの勧め 【コードレビューの必要性】 ▪ 正しく機能を作りこんだか を確認して、テスト中毒か ら脱却する ▪ 読みやすさ、保守性が高 いコードを書いているかを 確認して、デバッグ・保守・

    エンハンスのコストを抑え る
  5. コードレビューのメリット • 早期バグ発見 • リファクタリング • レビュアー/レビュイーのスキルアップ • コーディング規約の強制 •

    新人育成 • システムの引き継ぎを容易にする
  6. 効率良くコードレビューを出来ていますか?

  7. 現状感じている問題点 • デプロイ後のコードをレビューでは後の祭り • レビュアーがレビュイーにどのバージョンのどの ファイルのどの行番号っていうのを伝えるのは 手間 • どのバージョンがレビュー済みかわかりにくい

  8. Gerrit

  9. Gerritとは • Google社員が開発している • Androidのオープンソースプロジェクトで利用さ れている • rietveld(オープンソース版 Mondrian)の後継? •

    名前の由来はオランダの建築家ヘリット・トーマ ス・リートフェルト(Gerrit Thomas Rietveld)から 来ている
  10. Gerritの特徴 • Webベースのコードレビューシステム • Gitを使ったプロジェクトのオンラインコードレビュー • 変更を並べて表示してレビューしやすくしている • レビュアーはインラインにコメントを追加することができる •

    レビュイーはコミットをあるブランチ(refs/for/master)に PUSHして、レビュアーがレビューして承認すると自動的に masterブランチにマージされる
  11. DEMO

  12. 考察 • レビューそのものを資産として残すことができる • レビューで承認されないとマスターにマージでき ないので、致命的なバグを未然に防ぐことがで きる • Jenkinsとの連携もいい感じ •

    gitの使い方に慣れてないと難しい • ドキュメントが少ない
  13. 次週のテーマ ▪ AngularJS ▪ factor

  14. Mondorian Pythonの開発者Guido Van Rossumが開発 Googleが採用しているSCMのPerfoce用

  15. rietveld • オープンソース版Mondorian • 開発者はMondorianと同じくGuido Van Rossum • SCMにSubversion

  16. Crucible • ConfluenceでおなじみAtlassian製 • http://www.atlassian. com/ja//software/crucible/overview

  17. 宍道湖(しんじこ) • Ruby on Rails製 • Google App Engine上で動作 •

    rietveldのクローン • http://code.google.com/p/shinjiko/