Querlyは「8割くらい修正しない」程度のバランスでいい。
Querlyはプロジェクトのルールを自動で教え、そぐわないものを直す手助けをしてくれる有用な解析ツール。

ビットジャーニーとは

株式会社ビットジャーニーではスタートアップから大企業までを対象とした 「Kibela」という個人の発信を組織の力にするための情報共有ツールを開発しています。先行登録受付の際に非常に多くの申し込みを集めたKibelaは、公開後もユーザーから高く評価されています。

現在、Kibelaの開発にはRubyとTypeScriptを使用し、6名の開発者チームでSiderを利用しています。今回はgfxさまにインタビューに答えていただきました。

なぜSiderを選んだか?

ーSiderの導入経緯についてお聞かせください。

スタートアップの場合、コードの品質を向上させることよりも、プロダクト開発をどんどん進めて会社として生き残ることが最優先です。そのため、コードの質に関する環境整備、コード規約についての議論、指摘やその修正には、時間的、人的リソースをあまり使いたくありません。そこで、コードレビューを自動化しようという流れになりました。

初めはHoundを自前でホスティングしてレビュー自動化を運用していたのですが、Houndのメンテナンスにとられる時間が多く本末転倒だということになりました。運用にかかるコストを最小化できるマネージドのサービスを探してSiderを使いはじめましたが、実はそのときは慎重に他の製品と比較してSiderに決めたわけではありませんでした。

ーSiderをご利用になったのは偶然だったんですね。それでは、実際に使われるようになってからはいかがですか?

実際に使ってみて、SiderでサポートされているQuerlyが気に入りました。Querlyの有用性に価値を感じているので、Siderを継続して利用しています。

Querlyについて

ーそれでは、Querlyのご使用状況について詳しくお聞かせください。

ここ半年くらいで、Querlyの使い方がわかってきて活用できていると感じられるようになりました。RuboCopなどの他のLintツールは「問題が指摘されたら9割修正しないといけない」ですが、Querlyでは逆に「8割くらい修正しない」程度のバランスでいいとわかってから、気軽にルールを追加できるようになりました。設定ファイルの更新頻度もかなり上がりました。このルールは誤検出もたくさんありますが、特に新メンバーやフルタイムではないメンバーの方にコードを書いてもらうときに役に立っています。

- id: kibela.current_user_locale
  pattern: "current_user.locale"
  message: "current_userはログインしていない場合nilになります。 I18n.localeを使ってください。"

Querlyをローカルの開発環境にもインストールしておいて、$ querly consoleで試行錯誤しながらルールを追加していきます。バグなどの障害があったらルールを追加します。あるいは、フィーチャーブランチを作っている時に「おやっ」と思ったら、そのままルールの追加までしてしまうかたちで使っています。

効果

ー大変貴重なお話、ありがとうございます。Querlyを利用した効果はいかがでしたでしょうか?

実は、Querlyの指摘を僕たちが見るのは週に2〜3回です。ルールを書いた人は無意識にその内容を避けてコードを書くから、指摘が少ないのかもしれません。デザイナや新しいメンバーがジョインした時など、ルールを知らない人がコードを書くといつもよりたくさん指摘が出てくるので、そこでQuerlyの効果を感じます。プロジェクトのルールを自動で教えてくれて、そぐわないものを直す手助けをしてくれるのでありがたいです。

Querlyの設定ファイルはプロジェクトの成長の歴史そのもの。そのプロジェクトの財産なんです。

ーインタビューへのご協力、ありがとうございました!

解析結果まで30秒。
無料ではじめられます

オープンソースプロジェクトはすべての機能が無料。
Privateリポジトリは無料トライアルでお試しいただけます
デモをリクエストする