为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 go-lint 对初始值给出了不一致的建议?

为什么 go-lint 对初始值给出了不一致的建议?

Go
qq_遁去的一_1 2022-08-09 20:20:40
go-lint提出了以下建议:method CreateStaticCssPath should be CreateStaticCSSPathlinter是否正确,如果是,为什么?它允许使用前面的方法:CreateStaticJsPath
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

Go 命名约定规定,初始值应以全大写形式编写(实际上:在一致的情况下,取决于第一个字符是否应大写)。这就是林特所抱怨的。

名称中的首字母缩写或首字母缩略词(例如“URL”或“NATO”)具有一致的大小写。例如,“URL”应显示为“URL”或“url”(如“urlPony”或“URLPony”),永远不要显示为“Url”。例如:ServeHTTP not ServeHttp。对于具有多个初始化“单词”的标识符,例如使用“xmlHTTPRequest”或“XMLHTTPRequest”。

当“标识符”的缩写时,此规则也适用于“ID”(当它不是“ego”,“superego”中的“id”时,这几乎是所有情况),因此请写“appID”而不是“appId”。

因此,假设CSS和JS是初始值,并且将是编写这些符号名称的“Go方法”。CreateStaticCSSPathCreateStaticJSPath

虽然林特对这些失败的捕捉自然是有限的。在这里不可能100%准确,因为上下文(和人类直觉)是必要的。

CreateJs可能意味着“创建JavaScript”,或者它可能意味着“创建多个”(无论上下文中的“J”是什么)。J

我预计 linter 有一个硬编码的常见初始值列表(, , , ,等),这些初始化值预计具有非常低的误报率,并且只查找这些。当试图将简洁的符号名称解析为人类可理解的文本时,其他任何东西都会很快陷入疯狂的境界。CSSURLHTMLID


查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 109 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信