首页 > 解决方案 > 函数参数 - id vs object

问题描述

我有一些通过 id 返回用户数据的服务。用户已经存储在请求(会话)中 - 无需每次都获取它。

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

例子:

//...

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

标签: node.jstypescriptfunctionparameter-passingtypescript-typings

解决方案


任何一个。真的。只要保持正确的命名。

您的函数名称越具有说明性,混淆就越少

//...

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

推荐阅读