Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: 修复代码中的一些警告问题 #15

Merged
merged 1 commit into from
Oct 7, 2023

Conversation

Ruomenger
Copy link
Contributor

@Ruomenger Ruomenger commented Oct 7, 2023

修复项目中的一些警告问题,主要有:

  1. yoda conditions,go中不需要将常量放在等于判断的前部
  2. 使用 strings.Contains 替换 strings.Index 判断子串是否存在
  3. 使用 unsafe.Slice 替换 reflect.SliceHeader
  4. 移除未使用的函数 unpatch
  5. 获取 map 中的 value 后并未使用

image

@taoso FYI

1. yoda conditions,go中不需要将常量放在等于判断的前部
2. 使用 strings.Contains 替换 strings.Index 判断子串是否存在
3. 使用 unsafe.Slice 替换 reflect.SliceHeader
4. 移除未使用的函数 unpatch
5. 获取 map 中的 value 后并未使用
@taoso
Copy link
Member

taoso commented Oct 7, 2023

@Ruomenger 2-5 都没问题。但我对第一条有不同看法。

所谓的 yoda conditions 只是 staticcheck 不建议使用。但 yoda conditions 本身没有问题。纯粹为了不让 staticcheck 显示警告就在 monkey_test.go 引入大量功能无关的改动,我感觉不太合适。

根据 staticcheck 的文档,我们可以在项目根目录创建配置文件staticcheck.conf

checks = ["all", "-ST1000", "-ST1003", "-ST1017"]

这样可以排除掉一些不是很契合的规则。

@Ruomenger
Copy link
Contributor Author

@Ruomenger 2-5 都没问题。但我对第一条有不同看法。

所谓的 yoda conditions 只是 staticcheck 不建议使用。但 yoda conditions 本身没有问题。纯粹为了不让 staticcheck 显示警告就在 monkey_test.go 引入大量功能无关的改动,我感觉不太合适。

根据 staticcheck 的文档,我们可以在项目根目录创建配置文件staticcheck.conf

checks = ["all", "-ST1000", "-ST1003", "-ST1017"]

这样可以排除掉一些不是很契合的规则。

我明白增加这个配置修改是可以避免这个告警,只是这种写法在go中非常奇怪,无论是在go标准库还是大部分第三方库中都没有这种写法。这种写法一般是用在C/C++中可以避免一些在==误写为=时的问题(因为隐式类型转换),但在go=赋值就并非布尔值编译时就会直接报错,不会有这种错误问题。

@taoso taoso merged commit ebe8718 into go-kiss:master Oct 7, 2023
3 checks passed
@Ruomenger Ruomenger deleted the fix-warings branch October 9, 2023 01:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants