我有以下方法:
public void publish(Object source, long id, boolean status) {
}
当我从某些类调用该方法时,它看起来像这样:
element.publish(this, property.getId(), true)
或
element.publish(this, property.getId(), false)
在查看代码之前,无论谁查看代码都不会知道真假的含义。我正在考虑使用枚举而不是布尔值。
您认为正确而干净的方式是什么?
答案 0 :(得分:1)
嗯......在方法签名的参数上使用布尔值几乎不是一个好习惯。备选方案:
1-创建枚举并改为传递参数。
2-根据您收到的参数,您可以使用此参数创建一个类。
3-重载方法,取决于哪些方法会有所不同。
此外,使用描述性名称会有所帮助。
答案 1 :(得分:0)
使用枚举似乎是代码清晰度的好主意。鉴于参数名称status
没有解释真值和假值之间的差异(与isValid
不同),枚举如下:
public enum PublishStatus {
OK,
LOG,
ERROR
// ...
}
可读性会有很长的路要走。