このブログをご覧のみなさん、こんにちは。

コーディング規約に対応していなかった既存の Rails プロジェクトを RuboCop でチェックしています。RuboCop (コーディング規約) を通じて、既存の Rails プロジェクトへの理解も深まるので一石二鳥です。その中で rubocop -a/--auto-correct で対応されない指摘について、内容を調べたので、調査した内容をメモとして残しておきます。

概要

RuboCop の Metrics/CyclomaticComplexity の指摘は、循環的複雑度が 6 を超えていないかどうかをチェックしています。

循環的複雑度とは?

循環的複雑度 – Wikipedia

循環的複雑度(英: Cyclomatic complexity)とは、ソフトウェア測定法の一種である。Thomas McCabe が開発したもので、プログラムの複雑度を測るのに使われる。プログラムのソースコードから、線形的に独立した経路の数を直接数える。

というものです。

RuboCop Metrics/CyclomaticComplexity のデフォルト値

有効(enable)で、6 になっています。また、以下の通り、複雑度が 6 を超えていないかどうかをチェックしています。

RuboCop Metrics/CyclomaticComplexity のチェック内容

参考情報

Ruby Style Guide の該当する箇所はありません