// code snippet
interface TypeConfig { }
[tslint]インターフェース名は大文字のI(インターフェース名)で始まる必要があります
Microsoftは、インターフェイス名の前にIを付けないことを推奨しています-https ://github.com/Microsoft/TypeScript/wiki/Coding-guidelines#names
これらは、typescriptコンパイラ自体を作成するためのガイドラインであることに注意してください。 これは、他のタイプスクリプトプロジェクトのスタイルガイドとなることを意図したものではありません。
プロジェクトにこのスタイルガイドを採用する場合は、tslint.jsonのルールの構成を"interface-name" : [true, "never"]
変更するだけです。
通行人から50セント:
代わりに"interface-name" : [true, "never-prefix"]
"interface-name" : [true, "never"]
🙌
Create React Appによって生成されるデフォルトのtslint.json
interface-nameを追加して、「I」プレフィックスをオフにしてみました。 ただし、機能していないようです。 多分私はそれを間違った場所に置いていますか?
{
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts"
]
},
"interface-name" : [true, "never-prefix"]
}
気にしないでください、私はそれを理解しました:
{
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts"
]
},
"rules": {
"interface-name" : [true, "never-prefix"]
}
}
何らかの理由で"interface-name": [true, "never"]
は私には機能しません。 しかし、 "interface-name": false
は正常に機能します
@ vasilev-alex "interface-name": [true, "never-prefix"]
接頭辞なしのエンパシス
まだ"interface name must start with a capitalized I"
これは私のtslint.jsonです:
{
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
"extends": [
"tslint:recommended",
"tslint-react",
"tslint-config-prettier"
],
"linterOptions": {
"exclude": [
"config/**/*.js",
"node_modules/**/*.ts",
"coverage/lcov-report/*.js"
]
}
}
私は何が間違っているのですか?
@ offg777明らかなことは何もありません。 リポジトリへのリンク?
設定は私には正しいように見えます-それをオーバーライドするものは他にありませんか? ルールは間違いなく私にとって適切に機能しています
@ offg777
「インターフェース名は大文字のIで始まる必要があります」
このエラーはどこから発生しますか? IDEからですか、それともCLIを実行しているときですか?
tslintの正確なカスケードルールについてはわかりませんが、「extends」の下に「rules」ブロックを配置してみましたか?
素晴らしい
eslintはすでにそれをサポートしていますか?
設定
"rules": {
"interface-name": [
true,
"never-prefix"
]
},
結果はConfiguration for rule "interface-name" is invalid
たぶん、このルールは理由で存在しますか? すべてのインターフェースには、実装クラスとは明らかに異なる意味のある名前を付ける必要がありますか?
これは、_あなた自身のプロジェクトの外で_あなたの好みに従って世界の残りの部分を強制するという血まみれの迷惑な考えです。 プログラミングツールでの独自の命名規則の妨害は、製品開発者のニューラルネットワークのバグです;)
良いことTSLintは非推奨になり、この問題はもはや関係ありません! #4534
最も参考になるコメント
気にしないでください、私はそれを理解しました: