有源代码分析工具可以检测 Ruby 中未使用的参数吗?
如何检测 Ruby 中未使用的参数?
我知道的选项包括
- 严格 TDD。
- Heckle(由于 ParseTree 问题,目前仅适用于 Ruby 1.8)
- 使用 RubyMine 等 IDE 来检测未使用的参数或自动进行重构。
但是是否有源代码分析工具或警告选项允许您检测未使用的参数?
背景:我正在做一些重构。我从(代码稍微简化)更改
# Not within the Foo class (therefore can't be as easily accessed by unit testing)
# and in addition, the name of the configuration file is hard-wired
def parse_configuration
raw_configuration = YAML.load_file("configuration.yml")
# Do stuff with raw_configuration to produce configuration_options_for_foo
return configuration_options_for_foo
end
if __FILE__ == $0
configuration_options_for_foo = parse_configuration
foo = Foo.new(configuration_options_for_foo)
end
为:
class Foo
# Now unit tests can call Foo.new_using_yaml("configuration.yml")
# or use "test_configuration.yml"
def self.new_using_yaml(yaml_filename)
# Where I went wrong, forgetting to replace "configuration.yml" with yaml_filename
raw_configuration = YAML.load_file("configuration.yml")
# Do stuff with raw_configuration to produce configuration_options_for_foo
new(configuration_options_for_foo)
end
end
if __FILE__ == $0
foo = Foo.new_using_yaml("configuration.yml")
end
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为激光可以做到这一点。
这是相当阿尔法-y,但似乎做你想做的事。
http://github.com/michaeledgar/laser
I think Laser does this.
It's pretty alpha-y, but seems to do what you want.
http://github.com/michaeledgar/laser
Reek 可以检测未使用的参数。
Reek can detect unused parameters.
Ruby-lint 可以检测未使用的参数。
RuboCop 刚刚添加(2014 年 4 月)使用 cop 检测未使用的参数“未使用的方法参数”。
Ruby-lint can detect an unused parameter.
RuboCop has just added (April 2014) detection of unused parameters with the cop "UnusedMethodArgument".