目標
- 月 1 で Qiita にアウトプット
- 去年は 7 件だったので 12 件を目指す
- 月 1 でブログ更新
- 去年は 15 件だったので同じくらい書きたい
- 技術書を年間 5 冊読む
- どこかで 1 回 LT する
- GitHub の草生やす
- 毎日コーディングする
- 個人で一つサービスをオープンする
- 貯金を増やす
約 1 年目 にちょうどはてなブログを始め、目標を立てていた
だいぶ忘れていたが振り返っておく
$ npm install -g coffeelint
$ coffeelint -v
$ coffeelint app/assets/javascripts/
$ coffeelint --makeconfig > coffeelint.json
gem 'slim_lint', require: false
$ bundle exec slim-lint -v
$ bundle exec slim-lint app/
Lint の項目は slim-lint/README.md at master · sds/slim-lint · GitHub
Rake Task と integrate することもできるようだが、README の書き方ではうまくいかなかった
コーディングルールが浸透していない Rails アプリケーションに Lint ツールを導入する
導入の仕方は README の通り Gemfile に下記を追記する
gem 'rubocop', '~> 0.51.0', require: false
$ bundle exec rubocop -v
// カレントディレクトリ配下のすべての Ruby ファイルをチェックする $ bundle exec rubocop // 指定したディレクトリ(今回は app/)配下の Ruby ファイルをチェックする $ bundle exec rubocop app/
{
の後ろと }
の前にスペースがあるか?return
が省略できる場合に省略しているか?xx == 0
の代わりに xx.zero?
は使えないか?などをチェックしてくれるチェック対象やチェック項目を独自のルールにしたい場合は .rubocop.yml ファイルを用意する
Ruby のバージョンも指定できる
AllCops: TargetRubyVersion: 2.4
$ bundle exec rubocop --display-cop-names
$ bundle exec rubocop --display-cop-names --auto-gen-config
// .rubocop_todo.yml を読み込むようにしておく $ echo "inherit_from: .rubocop_todo.yml" >> .rubocop.yml
--auto-correct
対象なので、オプションを付ければ自動で修正される$ bundle exec rubocop --display-cop-names --auto-correct
例
date_select(:birthday, { use_month_numbers: true }, { class: class_name })