Sider Blog

コードレビュー自動化サービス「Sider」を運営するSider株式会社のコーポレートブログです。

Sider Code Review Meetup #4 レポート

f:id:sideci:20181019121715j:plain

9月27日、Sider主催による『Code Review Meetup #4 ~Code Reviewで集まろう~』が代官山のOpen Network Spaceにて開催されました。コードレビューをテーマにした本Meetupも今回で4回目。この夜は予約段階で満員・キャンセル待ちも発生するなどの注目をいただき、最終的に30名以上の方々のご参加となりました。この日ご登壇いただいた4名のスピーカーの皆さまからは、コードレビューをテーマにそれぞれ独自の切り口でお話を聞くことができました。

RuboCopコミッターである株式会社永和システムマネジメントの伊藤浩一氏 ( @koic )は、「コードレビューしぐさ」(スライド: https://speakerdeck.com/koic/for-whom-the-quality-exists )と題し、コードレビューがなぜ重要か、また多様なメンバーでプロジェクトを進めるとき、それぞれの環境、関係などで、どんなコードレビューが望ましいかなどを話してくださいました。伊藤氏によると、どのようなメンバー構成でプロジェクトを進めるのであれ、コードの質の期待値に対し共通の認識をもつことが大切とのこと。また、Linterツールによるレビューと人間によるレビューとを比較し、人間の行うレビューにおいて機械にはできない領域のレビューを行うための知識を受け渡していくことの重要性に触れ、一方Linterツールを使用することによって、新しいメンバーに既存のルールを共有しながら、どの部分を機械に任せ、どの部分を人間の手でレビューするかを判断しやすくなる、という大変わかりやすいご説明をいただきました。

f:id:sideci:20181019121739j:plain
コードレビューしぐさのタイトル通り、哲学を聞かせてくださった伊藤氏

続いての登壇者は、株式会社ビットジャーニーのGoro Fuji ( @gfx )氏。gfx氏は、「コードレビューを自動化するために『Querly』(注釈:Siderが提供しているツール)を使用する」というテーマにもとづき、「歴史的経緯の説明 as code」(スライド: https://speakerdeck.com/gfx/li-shi-de-jing-wei-falseshuo-ming-as-code )を会場と共有してくださいました。Querly DSLの例や株式会社ビットジャーニーの提供するサービスKibelaの事例などに加え、LinterとQuerlyの違いとして、「Linterは一般的なルールをチェックするものであるのに対し、Querlyはプロジェクトごとのルールをチェックすることで『歴史的経緯』をコードとして形に残すものである」ということを非常にわかりやすく説明していただきました。 この解説に、参加者さまより「今まで知らなかったけど、Querlyを使ってみたい。他社の事例や一般的なルールを知りたい」というお声も頂戴したので、Siderの中の人の我々も、もっと上手にQuerlyの良さを皆さんに伝えなくては!と感じました……!

f:id:sideci:20181019121827j:plain
こうした生の声の要望はとてもありがたいです。

三番目のスピーカーであるTakeru Yasumoto ( @seteen )氏は、コードが長くなりレビューしづらいこともあるRSpecを短く書けるように、RSpecを拡張したGem、RSpecZの使用法について、「レビューしやすいテストを目指して RSpecZ」(スライド: https://www.slideshare.net/ssuser7aa1e3/code-review-meetup4-rspecz ) というタイトルでお話しいただきました。

f:id:sideci:20181019121859j:plain

上の写真のスライド画面にも現れているように、RSpecZを使用するとコードの長さが半分くらいになるそうです。視覚的にも「これはコードレビューしやすくなりそうだな」というのが非常にわかりやすい発表でした。

そして、この夜のトリを務めました弊社エンジニアのKazuma Watanabe ( @wata727 )は、 「快適なコードレビューを目指して」(スライド: https://speakerdeck.com/wata727/for-a-comfortable-code-review )と題し、コードレビューを行う様々な目的のなかから「問題を防ぐこと」と「知識の共有」に的を絞り、それぞれに対して、弊社にて新しくリリースしたPhinderを使った効果的なレビューの方法について説明しました。Phinderを使うことで、コードの臭いを感じるパターンに対し、過去に発生した問題や懸念事項を提示することができます。また、レビュー時に確認するべき項目を自動でリストアップできます。発表の中には、「人間によるレビューの知識を共有していくために経験をYAMLに書き出す」という、gfx氏のお話と共通する話題もありました。

f:id:sideci:20181019121917j:plain

その後、各プレゼンテーション終了後に開催された懇親会では、軽食を囲みながら参加者の皆さんが熱心に登壇者の方々に質問をされている姿があちこちで見受けられました。 コードレビューをテーマとしているMeetupはまだまだ少ないようですが、より快適な開発や、よりスムーズなコーディングに欠かせないコードレビューを、SiderもブログやMeetupを通じて広めていくお手伝いをしこうと考えています。これからもコードレビューに関わる皆さんの勉強のお役に立てれば嬉しいです。

現時点では次回のコードレビューMeetup開催予定は未定ですが、ConnpassやDoorkeeperでは随時Meetupの情報をお知らせしています。今後のMeetup参加に興味のある方は、ぜひ弊社ConnpassまたはDoorkeeperよりSiderコミュニティをフォローしてください!

ーーー

あなたのチームの開発効率向上に!
Siderの自動コードレビューを14日間の無料トライアルでお試しください!