据我所知,yamllint和ansible-lint在line-length超过最大阈值时提供警告,对于yamllint来说,这似乎是一个违约80。
我看到一些公共项目只是简单地修改规则来增加这个限制。
我想知道为什么这个限制是存在的,什么时候开始突破这个限制?
有没有人对合理的限制有任何想法?
发布于 2022-10-01 07:09:49
实际上,YAML规范施加了一个技术限制
要限制所需的查找量,“:”指示符必须在键开始后最多显示1024个Unicode字符。此外,密钥仅限于一行。
这适用于下列形式之一的行:
<key>: value
<key>:
<sub-node><key>不能超过1024个字符,也不能是多行的。虽然没有直接限制行(因为没有考虑缩进和下面的值),但这意味着为了安全起见,您应该将行限制为1025个字符(key + :),这样就不会出现非法密钥。
虽然这是“什么时候事情会开始破裂”的答案,但请使用更短的可读性限制。80是许多人使用的一个合理的默认选项,ymmv。
https://stackoverflow.com/questions/73899496
复制相似问题