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

Proper name for a method that sets a property but also sends a request

本文关键字:方法 请求 属性 设置      更新时间:2023-09-26

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

假设我有以下模型:

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似乎是错误的)。

我同意你的看法,"updateStatus"对我来说最有意义 - 它更准确地传达了它的操作涉及的不仅仅是在某处设置变量。

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

updateStatus 比 setStatus 更准确地描绘了该方法,特别是因为它发出了 ajax 请求和所有。我会保留像 setStatus 这样的名称,以便在您初始化某些内容时使用。