如何配置RuboCop使日志行不计入Metrics/MethodLength统计?
解决RuboCop Metrics/MethodLength忽略日志行的问题
你之前使用的AllowedPatterns配置项作用是匹配方法名,忽略整个方法的长度检查,而非忽略方法内的特定行,这就是配置不生效的原因。
要让日志调用行不计入方法长度统计,需要使用IgnoredPatterns配置项,它可以指定正则表达式匹配需要忽略的行内容:
# .rubocop.yml Metrics/MethodLength: IgnoredPatterns: - '^\s*Log\.(debug|info|warn|error|fatal)'
这个正则会匹配所有以任意空格开头、后跟Log.加日志级别(debug/info/warn/error/fatal)的行,这些行将不会被计入方法的行数统计。你的example_method中所有行都是日志语句,配置后方法长度会被判定为符合阈值要求,不会再触发违规提示。
注意:该配置项适用于RuboCop 1.0及以上版本,若你的版本过旧,建议先升级RuboCop到最新稳定版。
内容的提问来源于stack exchange,提问作者Mr.
相关产品推荐
相关产品推荐

