ESM Distinguished Engineer の @koic です。
2020年9月4日(金)、9月5日(土) の2日間で開催される RubyKaigi Takeout 2020 に、私 koic は登壇、株式会社 永和システムマネジメント (ESM, Inc.) はスポンサーをします。
RuboCop 1.0 に向けた私の講演について軽く触れておきます。
RubyKaigi 2020 で講演する予定だったテーマをベースに、春以降から夏までに掛けてのアップデートを含めた内容になっています。
これまでインターネット上に出した情報としては、現状で最も RuboCop 1.0 の姿に近い仕様と実装ベースでまとまっているのではと思います。 本編ではRuboCop のアーキテクチャ、それぞれのレイヤーに分けた視点で話をしていきます (レイヤー名称は説明のために便宜的につけたものです) 。
各レイヤーで行われている開発へのバックボーンの話を中心に、最近だと RuboCop コアから切り出された RuboCop AST の話や、RuboCop がどのように Ruby の新構文への解析をサポートしているかといったトピックから RuboCop 1.0 の姿に迫ります。
一方で RuboCop がどういったものかはあまり取り上げていませんので、そちらを含んだコンテンツとしては RubyKaigi 2018 での講演を参照してください。
なお、今回の RubyKaigi Takeout 2020 向けに録音した際の Known Issue としては、Ruby を JavaScript に変換する Opal について逆に言い間違えていたり、Code smell detector の Reek をバグ検出ツールみたいに言い間違えていた部分がありますが、そのあたりは良い感じに「こいつ間違えやがったなw」くらいに生暖かく聞いてやってください。
RuboCop のライトユーザーから、カスタム Cop を作っている RuboCop マニアまで何かしら Takeout してもらえると良いなといったコンテンツを目指して作ってみました。よければ Takeout しに来てください。
株式会社永和システムマネジメントでは、Ruby とアジャイルソフトウェア開発を通じてコミュニティと共生しながら成長したいエンジニアと、そんな価値観を共有しながら前に進んでいけるお仕事を絶賛募集しています。ぜひお声かけください。