こんにちは。今週のSideCIのアップデート情報です。
Ruby用の新しい解析ツール Method Definition Validator
が利用できるようになりました。
メソッド定義を変更した場合の修正漏れを検知できるようになりました。
メソッドをリネームした場合や引数の数を変更した場合、そのメソッドを呼び出している箇所に対応漏れがないか?を検知します。
Pull Request内の変更差分だけではなくリポジトリ全体のコードが対象になるので「メソッド定義を変更したが、そのメソッドを使用している先の変更が漏れていた」などを検知できます。 対応言語はRubyです。
def do_something puts 'do_something' end do_something
例えば上記のdo_something
メソッドをdef do_something(p)
の様に変更した場合、呼び出し元では引数が足りないためエラーとなってしまいます。
今回追加した Method Definition Validator
を有効にしておくことで、このような変更漏れを本番環境に紛れ込む前に事前検知して指摘することが可能です。
コードレビューを行う際はファイルの差分をもとに行うことが多いかと思いますが、このツールでは 差分がなかった箇所
を検知できるので便利かと思います。
SideCIの解析ツール選択画面から Method Definition Validator
を有効にすることで、この機能を使用することが可能です。
※SideCI上で既存でRuboCopを利用しているリポジトリに対してはデフォルトでONになっています
Rubocop DefinitionValidator はGitHub上でソースコードを公開してあります。