読者です 読者をやめる 読者になる 読者になる

SideCI Blog

自動コードレビューサービスSideCIを提供している株式会社アクトキャットのコーポレートブログです。



SideCI の対応ツールに SwiftLint を追加しました

こんにちは。SideCI にて SwiftLint を使用した解析が行えるようになりました。

https://github.com/realm/SwiftLint

SwiftLint は、Swift のためのスタイルチェッカです。

警告例

SwiftLint を使用することで、以下の様に余分なスペースや冗長なコードなどを検出することが可能です。

SideCI での指摘画面 f:id:sideci:20170421121331p:plain

設定

有効にする警告の種類やしきい値は、.swiftlint.ymlファイルを使用して設定することが可能です。 https://github.com/realm/SwiftLint#configuration

また、SwiftLint に与えるコマンドラインオプションをsideci.ymlで定義可能です。 https://sideci.com/ja/docs/linter-config-by-sideciyml#swiftlint

SideCI で有効にするには

SideCI で SwiftLint をお使い頂く場合、左メニューの「解析ツール選択」から SwiftLint を有効にしてください。

また、SwiftLint はアビシニアンモードでのみの提供となります。 アビシニアンモードについてはこちらの記事を参照ください。

SideCI の対応ツールに stylelint を追加しました

こんにちは。SideCI にて stylelint を使用した解析が行えるようになりました。

https://github.com/stylelint/stylelint

stylelint は、CSS 及び SCSS 等のスタイルシート用言語の為の Lint ツールです。 スタイルシートのコーディングスタイルの統一や、問題のあるコードの検出を行うことが可能です。

続きを読む

アビシニアンモードでLINTツールの誤検出と闘う

RuboCopなどのLINTツールは、コードに含まれる潜在的な問題を検出しますが、誤検出の問題が常につきまといます。例えば、こういうプログラムに問題があると言われると、かなり厳しい思いをします。

f:id:sideci:20170407160809p:plain

このRuboCopの警告は、Railsアプリケーションの配置されているディレクトリを返すRails.rootからパスを組み立てるときには、式展開などの文字列操作ではなくPathname#joinメソッドを使うことを推奨するものです。つまり、

path = "#{Rails.root}/tmp/icons/#{user.id}.png"

ではなく、

path = Rails.root.join('tmp', 'icons', "#{user.id}.png")

と書いた方が良いという警告です。

続きを読む

隠れたコーディングスタイルを .rubocop.yml に抽出するツール、Gryをリリースしました!

Ruby

.rubocop.ymlの自動生成ツール Gry をリリースしましたのでお知らせいたします。

github.com

Gry とは?

Gry は RuboCop の設定ファイル(.rubocop.yml)の自動生成ツールです。
Gry を使用することで、プロジェクトのソースコードを解析し、そのプロジェクトに最適な.rubocop.ymlを自動で生成することが可能です。

これにより、従来手作業で行っていた.rubocop.ymlの作成作業にかかる時間を大幅に削減することが可能となります。 そして、RuboCopをよりプロジェクトに沿った形で使用することが可能となります。

続きを読む