我的私有方法应该返回一个值还是直接设置它? 有这样或那样的好处,如果是这样,为什么?
这是我的代码:
public class MinorMatrix {
int[][] minorMatrix;
int determinant;
int matrixSize;
public MinorMatrix(int a, int b, int[][] matrix) {
matrixSize = matrix.length;
createMinorMatrix(a, b, matrix);
createDetermiant();
}
private void createDetermiant() {
// Do this (with return):
return value;
// or with void
determinant = value;
}
}
答案 0 :(得分:1)
一般情况下,你应该返回值,这里的void样式会产生副作用。使用副作用可能
使用退货而非空白,因为任何维护人员都不必调查您的createDeterminant()
方法,他们可以信任它作为黑匣子。如果您使用副作用,未来的用户将不知道如何获得创建的值。找出答案的唯一方法是调查增加不必要工作的功能。