耙子任务 - 在命名Rake任务时,我应该何时使用爆炸符号('!')?

时间:2012-08-11 01:34:41

标签: ruby naming-conventions rake

当一个方法可能具有破坏性并且在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!

1 个答案:

答案 0 :(得分:1)

这取决于您,如果您想遵循惯例。 update_products 方法是否会修改e对象?如果是这样,我们可以说这是一个“危险的方法”,因为e状态将会改变,也许其他人依赖于该对象。

我个人会添加“!”。为什么?因为如果另一个(Ruby)程序员打算使用代码,他就会像“坚持下去,让我们小心这个”。