Reactの実践学習 airbnb style guide + ESLintを導入して構文チェック

シェアする

React.jsを導入するときに構文チェックで何を使っていますでしょうか。Rplayの中ではairbnbのJavaScriptのstyleguideがモダンで流行っているということ、書き方としてしっかりしているということ、他の開発者に負の遺産を残さないこと(これがメイン)で、導入しています。

Rplayの開発は一人で行っていますが、Reactを導入してからどのように進めていくか、チームに書き方を浸透させていくかで悩んでいる方に1から導入してみましたので、ご紹介します。

就職・転職・起業・フリーランス・起業・自宅で稼ぐ金額を増やしたい、スキルアップして年収・給与を2倍にあげたいという方は絶対チェックしてくださいね。

▼当サイトで申込みが多いプログラミングスクール・教室はこちら!

【1位】GEEK JOB【未経験から正社員のITエンジニアへの転職可能!『無料』プログラミング教室、上場企業へ内定】

【2位】WebCamp PRO (ウェブキャンププロ)【就職転職保証・返金保証・年収300万上がる】

【3位】WebCamp(ウェブキャンプ)【5ヶ月連続!3位】

ほかにも多くのプログラミングスクールがありますが、現役エンジニアが利用して間違いないスクールを厳選しています。

実際にWebCampに通って上場企業へ転職、年収が上がったエンジニアの話 → プログラミング未経験からエンジニアへ

airbnb JavaScript Style guide

airbnb

https://github.com/airbnb/javascript

airbnbのGithubを見ていただけると詳細がわかりますが、SassやCSSについてもルールを作っているようなので、CSSプリプロセッサでSassを導入しているプロジェクトの方は参考にしてみてください。

airbnbの技術選定について

そもそもなぜairbnbはこういうJavaScriptのstyle guideを作ったのかということが書かれているSlideshareもご紹介しておきます。airbnbの技術の遷移も昔のプロダクトから今のプロダクトへの流れとともに紹介されているので、モダンなアプリケーション開発でどのような技術選定をしているのか参考になるかと思います。

CSSのルールは、OOCSSとBEMを採用

見てみると基本的なことが書かれていますが、OOCSSとBEMを採用しているようです。CSS Modulesを使っておらず、生のCSSでしっかりルール化して運用しているように見えます。

確かにCSSでモジュール化のルールが徹底されている場合はグローバルに汚染されないので、CSSで良いという人もいますよね。

CSSの採用・運用方針

この辺の採用方針は今後チームにフロントエンドの人材が入ってくるか、自分以外の開発者がアサインされた場合にプロダクトがスムーズに進むかどうかなど長期的な視点で選択すると良いかと思います。Rplayではフロントエンド以外の開発者もフロントを触ることになることがありそうなので、CSS Modulesを採用しています。

理由としては、サーバーサイドの方でもCSSの設計を知らなくてもclassが汚染されず、衝突を避けられるのでコードが割と綺麗な状態で維持できるからです。いつどういう開発メンバーになってもプロダクトはユーザーのためにあり、ユーザーがすでにいるプロダクトをいかに良い状態を保つかを考えた結果このような決断に至りました。

airbnbのCSSのルールに関してはこちらの公式サイト
https://github.com/airbnb/css

導入の仕方

導入方法は非常に簡単です。.eslintrcファイルに下記のようにjsonを追加します。

eslintrcを生成する場合には下記のinitコマンド

Atom+ESLintが便利

Atom+ESLintが優れているポイントをいくつかご紹介したいと思います。

コード上でのハイライト

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-13-11-38-02

Atomをエディターとして使っている方であれば、linterとlinter-eslintのPackageを導入していると非常にデバックが便利です。表示されているarrow-body-styleなどのエラー内容がリンクになっているので、クリックするとeslintの公式サイトに遷移します。

ES6での記述方法についてと、これまでの書き方を比較して、詳細に書かれているので、修正が非常にやりやすいですよ。下記に比較した場合の書き方の例を載せておきます。

下記のようにincorrectとcorrect codeを示してくれます。

incorrect

correct code

React.jsでデバックや構文チェックに悩んでいたという方はすぐに導入することをお勧めします。

arrow-body-styleのeslintのページ
http://eslint.org/docs/rules/arrow-body-style

プロジェクトやファイル内でのエラーにポイントが可視化

eslint

プロジェクトのどこでエラーが起きているのか可視化されると修正がしやすいですよね。さすがに一々ブラウザで確認してConsoleからデバックするということをやっていると時間がかかってしまいます。

上記の画像のようにプロジェクトのエラーが可視化され、さらに白くなっている文字を選択するとそのファイルに遷移して、エラーになっているポイントまで移動してくれるので非常に便利です。使わない手はありませんよね!

ESLintのエラー対応

ESLintで様々なエラーが出たときの対応と効率的な対応方法を随時ご紹介していきます。Rplayの開発部分でリアルに詰まったところなどを集約していきます。ここからはエディターはAtomを使用していますので、Atomでのやり方になります。Atomの回し者ではありませんが、フロントエンドの開発では非常にスムーズでやりやすいのでオススメです!

タブとスペースが混合している場合の解決

タブとスペースが混合しているか、eslintにtabを許可、またはspaceを許可していないときにエラーが起きます。また、React.jsの記法ではスペース2つを基本的なルールとしているためにタブは推奨されていません。ですので、特別.eslintrcに追記がない場合にはエラーが起きているかと思います。

そして一つ一つタブとスペースを変換していたら日が暮れてしまいますよね。そんなときはこの方法です。

スペース→タブ
タブ→スペース

の変換を一括でできるのが、このコマンドです。
command+shift+p で検索窓を開いて、convertを打ち込みます。そうすると、サジェストにtabからspaceへの変換か、spaceからtabへの変換をするかが表示されます。どちらかを選択してクリックすると非常にスッキリしますよ。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-13-11-48-11

また、Reactプロジェクトにeslintを入れる時のプラグインをご紹介します。

yannickcr/eslint-plugin-react:

まとめ

AtomにESLintを導入すると非常に便利だということがお分かりいただけましたでしょうか?

Packageのインストールなどいくつかの準備が必要ですので、最初の準備は手間がかかるかもしれませんが、手軽に構文チェックできるので非常にありがたいです。

そして何より綺麗にコードが書けるということで、しっかりしたコードを書けるように勉強になりますし気持ちが良いものです。まだESLintを導入していないという方がいらっしゃれば導入してみてくださいね。特にReactを使っている方は、今回ご紹介したAirbnbのJavaScriptのスタイルガイドを導入することをお勧めします。では素敵なコーディングライフを!

React.jsの初心者のためのエラー集もストックしていっています。エラーの解決策で悩んでいるという方はこちらも合わせてどうぞ。

おすすめの転職サイトランキング・当サイトで人気のトップ3

第1位 マイナビエージェント×IT

おすすめポイント

  • 平日忙しい人も、土曜日開催の個別のキャリア相談に参加できる
  • 職種や仕事内容(上流工程から参加したい、要件定義、実装メインなど)の要望ができ、ミスマッチがない
  • 大手マイナビが運営しており、案件数が業界最大級
  • 未経験でも転職可能な案件も多数掲載
  • ベース年収のアップも見込める

マイナビエージェント×IT公式サイトへ

第2位 案件数日本最大級・未経験でも転職成功する リクナビネクスト

リクナビネクストの特徴

  • 大手企業リクルートが運営
  • 登録者数が数十万人規模!
  • グッドポイント診断で自分の強みがわかる!
  • 会員登録無料!
  • 未経験でも歓迎という職種・求人案件が多数掲載
  • サイト未掲載の特別求人の掲載

公式サイトへ

リクナビネクスト診断

リクナビネクストのグッドポイント診断は、自分の強み、自分の分からなかった性格など細かいところを客観的に分析できます。 転職の時に他の職種に変えたい、環境を変える時に自分を振り返りる時にオススメです。

自分の強みから、転職先としてどの業界があっているのか、どの職種があっているのかなどもわかります。 「リクナビネクスト 」にしかないグッドポイント診断で転職の前に自分を振り返りましょう!

グッドポイント診断の活用方法

リクナビネクストのグッドポイント診断の活用は自分の適職の判断にも利用できます。自分の性格ややりたいことがわかっていないと面接にいった時に違和感を感じたり、 面接官から悟られるということもあります。

「自分の強みが解らない」、「面接などでいまいち自分をアピールできない」、「自分でやりたいことがない」などになやんでいる方は、一度試してみることをおすすめします! 「リクナビネクスト 」で自分の適職を診断する。

公式サイトへ

リクナビネクストの診断の評判と使い方

リクナビネクストの適職診断を使ってみた結果をご紹介しています。それぞれに診断結果が異なるので、自分の適職診断を行って天職を探してみましょう!

グッドポイント診断の利用は無料

グッドポイント診断の利用は無料です。リクナビネクストが会員登録をしてくれた転職希望者のために【強み】を発見するために開発したツールだからです。 リクナビネクストは「自社のサービスを利用して、転職者が次の場所で活躍して良い人生を送ってくれること」を望んでいるからです。グッドポイント診断を利用して、 適職を見つけたいという方は、リクナビネクストの診断の使い方の記事をどうぞ。

▶️ リクナビネクストの診断使い方

就職・転職・起業・フリーランス・起業・自宅で稼ぐ金額を増やしたい、スキルアップして年収・給与を2倍にあげたいという方は絶対チェックしてくださいね。

▼当サイトで申込みが多いプログラミングスクール・教室はこちら!

【1位】GEEK JOB【未経験から正社員のITエンジニアへの転職可能!『無料』プログラミング教室、上場企業へ内定】

【2位】WebCamp PRO (ウェブキャンププロ)【就職転職保証・返金保証・年収300万上がる】

【3位】WebCamp(ウェブキャンプ)【5ヶ月連続!3位】

ほかにも多くのプログラミングスクールがありますが、現役エンジニアが利用して間違いないスクールを厳選しています。

実際にWebCampに通って上場企業へ転職、年収が上がったエンジニアの話 → プログラミング未経験からエンジニアへ

シェアする

この記事が気に入ったら
いいね!しよう

Rplayの最新情報をお届けします

TwitterでRplayをフォローする