1

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

假设我有以下模型:

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);
  });
}

困难的部分是为这个方法确定一个语义正确的名称。应该是setStatus,updateStatus还是别的什么?我希望这个名字很容易与普通名字区分开来set(这就是为什么setStatus看起来不对)。

4

3 回答 3

2

我同意你的观点,“updateStatus”对我来说最有意义——它更准确地传达了它的操作涉及更多的内容,而不仅仅是在某处设置一个变量。

于 2012-05-03T23:03:52.763 回答
0

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

于 2012-05-03T23:06:17.470 回答
0

updateStatus 比 setStatus 更准确地描述了该方法,特别是因为它正在发出 ajax 请求等等。当您初始化某些东西时,我会保留 setStatus 之类的名称。

于 2012-05-03T23:06:47.817 回答