设置属性但也发送请求的方法的正确名称

时间:2012-05-03 22:59:47

标签: javascript backbone.js

希望这不是一个愚蠢的问题。

假设我有以下型号:

var Appointment = Backbone.Model.extend({

  urlRoot: '/appointments',

  defaults: function() {
    return {
      'Date': new Date(),
      'Status': AppointmentStatus.UPCOMING
    };
  }
});

我想向Appointment添加一个纯粹用于更新Status的方法。此方法将执行以下操作:

function(newStatus) {
  $.ajax(this.url() + '/status', {
    data: { status: newStatus },
    type: 'POST',
    success: _.bind(function () {
      this.set('Status', newStatus);
    }, this);
  });
}

困难的部分是确定此方法的语义正确的名称。它应该是setStatusupdateStatus还是其他什么?我希望这个名称能够轻松区别于常规set(这就是setStatus似乎错误的原因)。

3 个答案:

答案 0 :(得分:2)

我同意你的观点,“updateStatus”对我来说最有意义 - 它更准确地表明其操作涉及的内容多于在某处设置变量。

答案 1 :(得分:0)

你自己说答案“......纯粹是为了更新状态。”这是一个愚蠢的问题,但我认为你应该继续updateStatus

答案 2 :(得分:0)

updateStatus比setStatus更准确地描述了方法,特别是因为它正在发出一个ajax请求。当你初始化某些东西时,我会保留像setStatus这样的名字。