繁体   English   中英

Rubocop / Hound建议冻结字符串文字类名

[英]Rubocop/Hound recommend freezing string literal class names

我的项目使用HoundCI作为代码linter,我相信内部使用rubocop。

最近我开始注意到这种警告 -

在此输入图像描述

它出现在每个类定义中(例如, class User < ActiveRecord::Base )。

我理解冻结字符串文字的概念,但为什么它会指望我冻结类定义? 更重要的是,我该如何禁用它? 让10个以上的“错误”污染我们的拉动请求是非常烦人的。

谢谢!

编辑:看起来它也开始出现在使用字符串文字的require语句上,就像使用rspec测试一样。 这绝对是新的,之前没有被标记过

在此输入图像描述

看起来Hound / Rubocop正在检测违反了FrozenStringLiteralComment警察。

此警察旨在帮助升级到Ruby 3.0。 它会将注释# frozen_string_literal: true添加到文件的顶部以启用冻结的字符串文字。 在Ruby 3.0中,冻结的字符串文字将是默认的。 评论将添加到shebang和编码评论下面。 冻结的字符串文字注释仅在Ruby 2.3+中有效。

您可以手动将魔术注释添加到文件顶部

# frozen_string_literal: true

或者让Rubocop为你做

$ bundle exec rubocop --auto-correct --only FrozenStringLiteralComment

你也可以忽略你的rubocop.ymlStyle/FrozenStringLiteralComment的警察

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM