有人可以向我解释为什么JSHint抱怨以下内容,
window.location.href = String1
+ '#'
+ Sting2
+ '='
+ String3;
出现错误 Bad line breaking before '+' error
我了解可以使用laxbreak
选项配置此错误,该选项描述为
此选项禁止显示有关代码中可能存在不安全换行的大多数警告。它不会抑制有关逗号优先编码风格的警告。要抑制这些,您必须使用Laxcomma(请参见下文)。
这种解释非常简洁,我很好奇为什么首先将这种方式的断行视为坏事或松懈。
请记住,我不是要在这里发动一场圣战,我只是想寻找一个客观的答案,为什么JSHint的人们认为这很糟糕,是否只是他们向他们的短毛猫注入了一种风格偏好(我认为JSLint是固执己见的linter),或者以这种方式换行时某些口译员是否会出问题。
6
根据JSHint的说法,我认为这只是“坏风格”。如果使用前导逗号,则会得到相同的效果。为了提高可读性,我至少会在行尾用+重写它。
—
伊万
笨蛋 我认为这种样式绝对是用于多行字符串的最易读的样式,尤其是在狭窄的窗口中查看代码时。
—
兰巴特2014年
以继续该语句的标记开头可以帮助对齐内容并在代码块的左侧部分直观地表达连续性,这是人们期望找到结构元素的地方,尤其是在快速扫描时。这绝对是可行和合理的,客观上不是坏风格。但是,执行此规则存在代码完整性问题,这是不幸的。
—
亚当·托利
@AdamTolley我完全同意,当我问到这个时,似乎可以确认这是FUD。在“元效应”之后受到审查;仔细检查似乎证实了这是可行和合理的。
—
HostileFork说不要信任2015年
如今(JSHint 2.9.4),错误消息是'+'之前的误导换行;读者可以将其解释为表达边界。
—
RhinoDevel