函数参数-ID与对象

时间:2019-04-23 11:24:37

标签: node.js typescript function parameter-passing typescript-typings

我有一些服务,可以通过其ID返回用户的数据。 用户已经存储在request(session)中-无需每次都获取它。

问题是参数的最佳实践是什么。用户的ID(SOLID)或用户对象的ID(更多验证/类型)。

示例:

//...

// this
public async getByUser(user: User) {
  return await Transaction.findAll({
    where: { userId: user.id }
  });
}

// or this
public async getByUser(userId: number) {
  return await Transaction.findAll({
    where: { userId }
  });
}

1 个答案:

答案 0 :(得分:2)

要么。真。 只要保持适当的命名即可。

函数名称的声明性越强,混淆性就越小

//...

// this
public async getByUser(user: User) {
  return await Transaction.findAll({
    where: { userId: user.id }
  });
}

// or this
public async getByUserId(userId: number) {
  return await Transaction.findAll({
    where: { userId }
  });
}