我有一个带有字段“deletionDate”和“experiationDate”的类,它们都可能是未定义的,这意味着该对象是删除还是没有到期日期。

我的第一种方法是:

private Date deletionDate = null; // null means not deleted

我记得牢记“Clean Code”一书,记得更好地使用表达性名称而不是注释。所以我目前的解决方案是:
private static final Date NEVER = null;
private Date deletionDate = NEVER;

我可以在Date周围使用包装器类,但这会使JPA映射复杂化。

你怎么看呢?您将如何表达“从不”?

最佳答案

好吧,永远不会永远,不是1/1/2999。

我会坚持你的第一个解决方案。空日期表示尚未发生。

也许您可以将其包装为:

boolean isNeverDeleted(){
    return deletionDate == null;
}

10-04 12:29