🐈

コードの臭いを嗅ぎ分けろっ

に公開

Daily Blogging97日目

最近設計に関するアウトプットもちょこちょこ始めました
でも設計を考えて実際に実装して....
本当に良くなっているのかを判断するのはなかなか難しいし、人によって意見分かれる

そういう時は、コードの品質を自動でチェックしてくるツールを使ってみる

reek

https://github.com/troessner/reek?tab=readme-ov-file#fixing-smell-warnings

Rubyで書かれたコードの臭い(smell)を検知してくれるやつ
gem入れるだけで簡単に使えるよ

reek --format html /app > public/reek/report.html

出力の仕方はいろいろ選べる
https://github.com/troessner/reek?tab=readme-ov-file#output-formats

どのファイルのどの部分にどんなsmellを検知したのかを出力してくれる

smellの種類

https://github.com/troessner/reek/blob/master/docs/Code-Smells.md
とにかくたくさんのsmellを検知してくれる

設定をカスタマイズ

reek用の設定は**.reek.yml**に書き込んでいく
※reek.ymlじゃないよ。「.」reek.ymlだよ

例えばこんな感じで

### Excluding Rules
detectors:
# You can disable smells completely
  IrresponsibleModule:
    enabled: false

### Excluding directories
# Directories and files below will not be scanned at all
exclude_paths:
  - /app/db/
  - /app/test/

検知しなくても良いsmellや、ディレクトリ、ファイルを指定できる

絶対じゃないよ

reekはあくまでも問題がありそうなコードを検知しているだけなので、
全部直す必要なはい
参考にしましょうねって感じで使う

Discussion