ジョージプログラマーの日記

Wow, look at what I did!

Atomエディタでrubocopを使ってコードの品質を保つ

Atomエディタを使ってRuby on Railsのアプリケーションを開発している人向けの記事です。 セットアップから使い方まで書いていきます。

出来ること

コーディング規約に沿ったコードが記述出来ているか簡単に確認出来ます。 私はAtomエディタを使っているのでAtomパッケージのlinterとlinter-rubocopを使ってコードをチェックすることにしました。 以下の画像のように修正箇所や修正内容が一目で確認できます。

修正箇所が発生している状態の画面

f:id:hattori6789:20170530220855p:plain

青い波線付近へマウスオーバーさせると

> Prefer double…

のように修正内容が表示されます。

目次

準備と使い方のまとめ

  1. AtomパッケージのLinterとlinter-rubocopをインストー
  2. RubyGemsのrubocopをインストー
  3. Atomでファイルを保存してコードをチェック
  4. Atomのコマンドパレットを開きLinter rubocop: Fix Fileと入力してコードを修正

準備

Atomパッケージをインストールする

Atomの環境設定から以下の2つのパッケージを検索しインストールします。

  1. Linter
  2. linter-rubocop(Linter用プラグイン

Atomの環境設定画面で検索します。 (Atom > Preferences… > Install タブ)

rubocop gemをインストールする

コマンドラインでrubocop gem をインストールします。 $ gem install rubocop

インストール出来たか確認します。現時点でインストールされたrubocopのバージョンは0.48.1でした。

$ rubocop -v
0.48.1

準備補足

ここまでの作業を終えてAtomエディタを開くとrubocopを使うことに必要なパッケージをAtomエディタ誘導してくれるので各パッケージをインストールします。

使い方

コードをチェックする

コードを記述したらcommand + s でファイルを保存します。 保存が終了した頃にrubocopが解析したコードで修正した方が良いところを教えてくれます。

コードを修正する

Atomのコマンドパレットを開きLinter rubocop: Fix Fileと入力してコードを修正します。 Atomのコマンドパレットの開くショートカットキーはcommand + Shift + pです。

あとがき

rubocop導入背景

GitHubでプルリクのレビュー依頼した際に「Railsのrubocopではダブルクォート優先になってるのでそのように修正して下さい」とコメントがありました。 同じことを繰り返さないように早速rubocopを使って静的なコード解析をすることにした。Atomエディタでrubocopを使ったコード解析はファイルを保存するだけでコードのチェックが出来るため大変便利です。 その他のAtomパッケージもあるので、使い勝手や開発が活発かどうか見て改めて選択しても良さそうです。リアルタイムにチェックしてくれるパッケージもあるようです。

追記

コーディングルールを変更しよう(2017/05/29)

Rubocopのコーディングルールをデフォルトから変更したい場合、プロジェクトのルートディレクトリに.rubocop.ymlを作成してルールを書くことで、デフォルトのルールを上書きできます。『Rails rubocop.yml』 などで検索すると参考になるページが見つかりそうです。rails/.rubocop.yml at master · rails/rails · GitHub

rubocop-linterのパスを設定する?(2017/05/30)

公式サイトを見ると特に記載がありませんが、RVMでRubyのバージョン管理をしている場合はパスを設定する必要があるようです。 Using RVM 自身の場合はrbenvでRubyのバージョン管理しており、特にパスを設定せずに使えました。

お世話になったサイト

ありがとうございました!

binding.pryがある行をプロジェクトから一括削除する

目次

背景と課題

Railsで作られたアプリケーションをpry, pry-byebug gemを使用してデバッグしている。 複数記述したbinding.pryがある行を、プロジェクトから楽に一括削除したい。

環境

  • Mac
  • Atomエディタを使用
  • エディタの設定はTabが半角スペース二つになるようになっている

解決方法

Atomの一括置換機能と正規表現を使用する。

手順

  • AtomのショートカットキーCmd + Shift + f を使用し、プロジェクト内検索パネルを表示
  • AtomエディタのFind in project*binding.pry\nを入力(*の前には半角スペースを入れる)
  • AtomエディタのReplace Allをクリック

感想

他にやり方ありそうだけど、標準機能でないんだろうか。

怖話をひと通り使って感想と改善案を書く(256 INTERNS 作業週)

怖話のコンテンツが充実しすぎィィィイイイイ

f:id:hattori6789:20161013195100p:plain

どっぷり怖話を楽しんでいる@hattori6789です。
※怒られたら画像消します。

今回は、iPhoneアプリで怖話を利用するユーザー(特に閲覧者)の目線で怖話を使って、

  • 操作で迷った事
  • それぞれの改善策
  • あったらいいかもしれない機能

について書きます。
(実際は、iPhoneアプリiPhoneブラウザ、PCブラウザ通り試しました。)

目次

  • 怖話のコンテンツが充実しすぎィィィイイイイ
  • 目次
  • 操作で迷った事
  • それぞれの改善策
  • 自分に出来そうなこと
  • あったらいいかも・その他(思いつき)
  • 余談
    • なぜ操作で迷った事に焦点を絞ったのか
    • 自分の好みの話を出来るだけ簡単に探す方法
    • おまけ
続きを読む

256INTERNSにリモートインターンとして参加しました

寿司と焼鳥が好物@hattori6789です。

昨日の夕方より256 INTERNS に参加しました。
ブログを作成して記事を書く、という学習週の課題があるので、256internsへの参加経緯や、2日目のカレー的な感想を簡単に書こうと思います。

目次

  • 目次
  • 参加経緯
  • 256INTERNS
  • 今日は何をしたのか
  • 困った時の『行き詰まった!』ボタンに感動
  • 256INTERNS 楽しい!!
  • 目先の目標
  • 今日のひとこと
続きを読む

素敵なリモートワークツールを作ります[Draft]

寿司と焼鳥が好物@hattori6789です。

自己紹介の代わりに、作りたいものを書きます。

目次

  • 目次
  • 大きな目標
  • 自身が使いたいと思えるツールを作る
  • 離れた人と面白い仕事が出来る世界
  • PCを利用したアプリケーションを作ることに力を入れる
  • あとがき
    • 大事なことは二度言う
続きを読む

Pryとpry-doc gemを使ってRubyのソースコードを読む

こんにちは!@hattori6789です。
Rubyの標準ライブラリには、便利なメソッドが数多く存在します。
今回は、Rubyの対話型評価環境であるPryと、pry-doc gemをインストールし、Arrayクラスのlengthメソッドが、C言語でどのように定義されているのか気軽に見ていきます。

目次

  • 目次
  • 環境
  • Pryについて
  • pryとpry-docをインストールする
  • show-sourceコマンドを使ってメソッドの定義を覗く
  • 補足
続きを読む

ドットインストールAtomパッケージ Dotinstall Pane が想像以上に便利だった

ドットインストール公式のAtomパッケージ Dotinstall Paneを紹介します。
ドットインストールの動画を見ながらコーディングする際、Dotinstall Paneが大変便利です。
存在を知りつつSplit Viewを使っていましたが、今思えばもっと早くDotinstall Paneを使っていれば良かった。
言葉による説明だけではなく、ユーザーに実際に触って体験してもらうことがどれだけ大切なことか、実感する出来事でした。

目次

  • 目次
  • Dotinstall Paneとは
  • 特徴
  • インストール方法
    • Atom上でパッケージを検索してインストール
    • ターミナルを使用してインストール
  • 使い方
    • ショートカットキー
    • その他
  • 一言
  • 参考URL
  • 追記
続きを読む