问题描述
由于以前的开发人员使用单个字母变量且很少编写文档,因此我们的代码已成为维护方面的噩梦。如果变量名称有意义且具有自描述性,我们可以处理后者。因此,我们正试图设立eslint以避免这种情况的发生。
我们的要求:
- 至少两个字符,因为
id
是可接受的变量 - 允许
i
和j
,因为它们通常在'for'循环中用作索引 - 允许在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" }]