当一个方法可能具有破坏性并且在rake任务名称中添加一个爆炸('!')时,我应该应用ruby约定吗?或者我更符合unix类型标准,因此我的个人理解是不会经常爆炸用过的。
例如。哪个更好?
$ rake update_products # OR
$ rake update_products!
我有一种方法可以从外部API中提取产品数据,并使用每种产品新导入的数据更新系统中的记录。
这样调用方法:
e = ExternalConnection.new
e.update_products!
我正在创建一个rake任务,所以我可以在cron job / heroku调度程序中使用它。
# scheduler.rake
task :update_products => :environment do
e = ExternalConnection.new
e.update_products!
答案 0 :(得分:1)
这取决于您,如果您想遵循惯例。 update_products
方法是否会修改e
对象?如果是这样,我们可以说这是一个“危险的方法”,因为e
状态将会改变,也许其他人依赖于该对象。
我个人会添加“!”。为什么?因为如果另一个(Ruby)程序员打算使用代码,他就会像“坚持下去,让我们小心这个”。