Skip to content

Commit ac809c1

Browse files
committed
refactor(ESLint): 文章の細かい内容を修正
1 parent 4397275 commit ac809c1

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

ja/ESLint/README.md

+12-7
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ ESLintサイト上には、上記のように書かれていることからも
2828

2929
### MyLinter
3030

31-
MyLinterは単純で以下の2つのメソッドを持つクラスとして実装しました
31+
MyLinterは単純な2つのメソッドを持つクラスとして実装しました
3232

3333
- `MyLinter#loadRule(rule): void`
3434
- 利用するルールを登録する処理
@@ -37,11 +37,11 @@ MyLinterは単純で以下の2つのメソッドを持つクラスとして実
3737
- `code`を受け取りルールによってLintした結果を返す
3838
- Lint結果はエラーメッセージの配列とする
3939

40-
実際に実装したものが以下のようになっています
40+
実装したものが以下のようになっています
4141

4242
[import, src/ESLint/MyLinter.js](../../src/ESLint/MyLinter.js)
4343

44-
MyLinterで[no-console.js](#no-console.js)を読み込ませて、
44+
このMyLinterを使って、`MyLinter#load`[no-console.js](#no-console.js)を読み込ませて、
4545

4646
```js
4747
function add(x, y){
@@ -55,16 +55,21 @@ add(1, 3);
5555

5656
[import, src/ESLint/MyLinter-example.js](../../src/ESLint/MyLinter-example.js)
5757

58-
コードには`console`というオブジェクトが含まれているので_"Unexpected console statement."_というエラーメッセージが取得出来ました
58+
コードには`console`という名前のオブジェクトが含まれているので、 _"Unexpected console statement."_ というエラーメッセージが取得出来ました
5959

6060
### RuleContext
6161

6262
もう一度、[MyLinter.js](#MyLinter.js)を見てみると、`RuleContext`というシンプルなクラスがあることに気づくと思います。
6363

64-
この`RuleContext`はいわゆるルールから使えるユーティリティメソッドをまとめたもので
64+
この`RuleContext`はルールから使えるユーティリティメソッドをまとめたもので
6565
今回は`RuleContext#report`というエラーメッセージをルールからMyLinterへ通知するものだけを実装しています。
6666

67-
ESLintのプラグインアーキテクチャの特徴でもありますが、プラグインが本体の実装がについては知らなくて、
68-
Contextという本体から与えられたものだけを使うので、ルールが行える事を制御しやすい作りといえます。
67+
ルールの実装の方を見てみると、直接オブジェクトをexportしてる訳ではなく、
68+
`context` つまり`RuleContext`のインスタンスを受け取っていることが分かると思います。
69+
70+
[import, no-console.js](../../src/ESLint/no-console.js)
71+
72+
このようにして、ルールは `context` という与えられたものだけを使うので、ルールができることを制御しやすくなり、
73+
ルールがMyLinter本体の実装の詳細を知らなくても良くなります。
6974

7075
## エコシステム

0 commit comments

Comments
 (0)