设计一个在java中有更多参数(例如五个参数)的方法是不是很好?
public List<Node> loadByParentAndNeighbor(Map<String, Object> properties, String parentLabel, String neighborLabel, String parentRelation, String neighborRelation) {
return null;
}
答案 0 :(得分:1)
case -1 :如果参数无关,则无法将它们放入单个容器(如列表)并传递给此方法。因此,拥有多个参数的方法将是可接受的。
case-2 :如果参数相关。例如,如果一个Object有10个字段,并且其中5个字段被传递给方法,那么它会是清洁和更多可读来传递对象本身(而不是其中的5个参数。)
答案 1 :(得分:0)
太多参数被认为是不好的做法,应尽可能避免。
原因是如果你有以下功能:
public void addUser(String username, String firstname, String lastname)
调用函数时,很容易混淆参数(第一个参数是firstname还是username?)。
addUser("johnd", "John", "Doe");
要解决此问题,最好在获得太多时对参数进行分组。例如,在一个名为Name
的班级中,其成员为firstname
和lastname
。
Name name = new Name("John", "Doe");
addUser("johnd", name);
这个问题也出现在参数较少的情况下(如我的例子所示),但有更多参数,特别是当有许多相同类型时,它会逐渐恶化。