插入操作代码审查

Insert Operation Code Review

我有方法 returns 如果操作成功则为 1,如果操作失败则为 0。我正在使用 entity framework 来执行数据库操作。

public class Employee
{
    public int InsertEmployee(Employee employee)
    {
        //insert code
        if(employee.EmployeeId > 0)
        {
            return 1;
        }
        else
        {
            return 0;
        }
    }
}

像下面这样重写上面的方法是个好习惯吗?

public enum StatusMessage { Success, Error };

public static class Status
{
    public static StatusMessage GetStatus(this int status)
    {
        if (status > 0)
        {
            return StatusMessage.Success;
        }
        else
        {
            return StatusMessage.Error;
        }
    }
} 

public class Employee
{
    public StatusMessage InsertEmployee(Employee employee)
    {
        //insert code
        return employee.EmployeeId.GetStatus()
    }
}

请建议我编写上述代码的更好方法。

提前致谢

我会return一个Boolean。 True/False -> Success/No 成功

  • 返回 Int 可能会造成混淆。有些人假设您正在 returning 一个 Id。
  • 当可以 return编辑多个状态时,使用枚举。

我实际上会考虑 returning void 并在操作失败时抛出异常。

如果您想要 return 状态指示器,那么您应该将方法重命名为 TryInsertEmployee 之类的名称。在这种情况下,我会简单地 return a bool 来表示成功。当然,问题是您无法附加任何有关操作未成功完成的原因的更多信息。除了例外,您可以。

这两点的原因是:

如果该方法无法执行其名称描述的操作,则抛出异常。