小能豆

命名问题:fileExists 加上 is 前缀如何正确命名

javascript

在 typescript 代码中遇到一个命名问题

const fileExists = await fsUtil.exists(fsPath)

上面这样命名,eslint 会告警

Variable name `fileExists` must have one of the following prefixes: is, should, has, can, did, willeslint@typescript-eslint/naming-convention

如果使用 isFileExisted 又不符合英语语法


阅读 50

收藏
2024-06-20

共1个答案

小能豆

在 TypeScript 中,遵循 ESLint 的命名规范有助于保持代码的一致性和可读性。对于表示布尔值的变量名,添加前缀如 isshouldhascan 等是一个常见的做法。

你的问题是 fileExists 变量名不符合 ESLint 命名规则,而使用 isFileExisted 又不符合英语语法。合适的解决方案应该既符合 ESLint 规则,又符合英语语法习惯。

以下是几种合适的命名方式:

  1. isFileExists:这是最直接的修改方式,添加 is 前缀。
    typescript const isFileExists = await fsUtil.exists(fsPath);

  2. doesFileExist:使用 does 前缀,这样也符合语法和 ESLint 规则。
    typescript const doesFileExist = await fsUtil.exists(fsPath);

  3. fileDoesExist:调整为带有动词的表达方式,也符合 ESLint 规则。
    typescript const fileDoesExist = await fsUtil.exists(fsPath);

  4. hasFile:如果你的语境允许 has 前缀,这也是一种选择。
    typescript const hasFile = await fsUtil.exists(fsPath);

在这些选项中,doesFileExistfileDoesExist 是最符合英语语法和 ESLint 规则的解决方案。

const doesFileExist = await fsUtil.exists(fsPath);

或者

const fileDoesExist = await fsUtil.exists(fsPath);

选择其中一个进行修改应该可以解决你的 ESLint 告警问题,并且保持代码的可读性。

2024-06-20