Eslint规则以确保最小的变量名长度,但不能在JSON上?

问题描述

由于以前的开发人员使用单个字母变量且很少编写文档,因此我们的代码已成为维护方面的噩梦。如果变量名称有意义且具有自描述性,我们可以处理后者。因此,我们正试图设立eslint以避免这种情况的发生。

我们的要求:

  1. 至少两个字符,因为id是可接受的变量
  2. 允许ij,因为它们通常在'for'循环中用作索引
  3. 允许在json上使用单字母属性,以允许point = { x: 2,y: 2 }

到目前为止,我们能想到的最好的方法是:

"id-length": [2,{ "exceptions": ["i","j"] }]

这涵盖了第1点和第2点,但对于第3点却失败了。对于存在的quote-props规则,我们宁愿保留单字母json属性对我们也不起作用。

有人可以建议一种可以支持所有三个要求的eslint配置吗?

解决方法

ESLint allows不适用于"properties": never的对象属性的规则。默认情况下未启用它,因此您必须有意指定它。

"id-length": [2,{ "exceptions": ["i","j"],"properties": "never" }]