文件名称:科学家:一个用于精心重构关键路径的Ruby库
文件大小:26KB
文件格式:ZIP
更新时间:2024-02-21 19:35:45
refactoring ruby scientist rubygem RubyRuby
科学家! 一个用于精心重构关键路径的Ruby库。 我如何科学? 假设您正在更改大型Web应用程序中处理权限的方式。 测试可以帮助指导您进行重构,但是您确实想比较负载下的当前行为和重构行为。 require "scientist" class MyWidget def allows? ( user ) experiment = Scientist :: Default . new "widget-permissions" experiment . use { model . check_user? ( user ) . valid? } # old way experiment . try { user . can? ( :read , model ) } # new way experiment . run end end 紧裹use周围的代码的原始行为块,并包裹try围绕新的行为。 experiment.run将始终返回use块返回的内容,但是它在后台做了很多工作: 它决定是否运行try块, 随机化use和try块的运行顺序, 测
【文件预览】:
scientist-master
----LICENSE.txt(1KB)
----script()
--------bootstrap(149B)
--------release(739B)
--------test(372B)
----lib()
--------scientist()
--------scientist.rb(2KB)
----Gemfile(39B)
----scientist.gemspec(965B)
----doc()
--------changelog.md(1KB)
----CONTRIBUTING.md(1KB)
----.travis.yml(180B)
----test()
--------scientist_test.rb(2KB)
--------scientist()
----README.md(21KB)
----.gitignore(55B)