Querlyワークショップ #2
イベント内容
Querlyは @soutaro が開発しているRubyプログラム検査ツールで、検査したいルールをYAMLに書いて簡単にカスタマイズできることが特徴です。
- https://github.com/soutaro/querly
- https://speakerdeck.com/soutaro/checking-ruby-programs-without-types
Querlyでは、特に注意が必要なAPI呼び出しのパターンをルールとしてYAMLに書き、Rubyプログラムに含まれるそれらのAPI利用を検出します。Querlyが検出した部分を、特に注意深くレビューすることで、
- 問題を見逃さないコードレビュー
- コードレビューの効率化
が両立できます。Querlyでは、YAMLファイルに検査したいパターンを追加するだけでルールが追加できるので、プロジェクト固有の事情を検査に反映しやすく、コードレビューでの繰り返しを積極的になくしていくものです。
さて、「簡単にカスタマイズできる」と私は信じていますし、RuboCopなどのツールをプラグインなどで拡張するよりは簡単なことは確かだと思いますが、それでも最初にQuerlyのルールを書いてみようとしたときにそこに障害があることは認めざるを得ません。そこでQuerlyワークショップを開催し、
- Querlyとルール言語の紹介
- ルールを書いてみる練習
- 実際にルールを書いて、Rubyプログラムを検査してみる
といった流れで、ルールをばりばり読み書きできるようになってもらう機会としたいと思います。
SideCIの開発ではQuerlyを使っていますが、一回同様の内容で開発チームを対象にワークショップを開催したところ、みんなルールを読み書きできるようになったという経験があります。(QuerlyはSideCIが提供する一部の機能を想定して開発されていますが、SideCIと別々に利用できます。オーブンソースソフトウェアとして配布していますので、誰でもどこでも使うことができます。)
- 実際にQuerlyのインストールを試せる計算機をお持ちください
- 普通にRubyが使える計算機ならなんでも大丈夫です
- なんらかのRubyプロジェクトのソースコードがあると、実際にルールを書いてすぐに試すことができるのでオススメです
- 適当なものがないときには
rails/rails
とかでも良いですが、実際に日々泣きながらメンテしているコードの方が、実感が生まれると思います
注意事項
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。