我应该返回价值还是使用无效?

时间:2015-06-17 21:57:21

标签: java

例如,我有一个名为“filterTop3Items(List list)”的方法。我应该返回结果还是返回void?

public List<Item> filterTop3Items(List<Item> list>;

public void filterTop3Items(List<Item> list);

第二个将修改输入参数。

在可维护性方面,最佳做法是什么?

编辑:
案例1:

List<Item> list = new List<Item>();
... (add item multiple times) ...

List<Item> filteredList = filterTop3Items(list);
... (process filteredList) ...

案例2;

List<Item> list = new List<Item>();
... (add item multiple times) ...

filterTop3Items(list);
... (process list) ...

对于案例2,如果您试图理解代码,则必须跟踪操作以了解列表中的内容。对于案例1,读者只需查看变量名称“filteredList”即可理解代码。这是可维护性问题之一。

1 个答案:

答案 0 :(得分:-1)

这两种方法都有效,但在Java中,我认为第一种方法最常用。