0%

函数参数,函数返回值检查原则

  1. 函数参数检查原则:只有public方法才进行参数检查。private方法参数不需要检查,因为一般如果参数不合法还去调用私有方法,说明自身内部代码逻辑有问题。
  2. 函数返回值检查原则:该返回值可能会造成该函数内代码崩溃一定要进行检查

函数说明时使用注解,明确说明不接受Null

void openTaskDetails(@NonNull Task requestedTask);

void completeTask(@NonNull Task completedTask);

void activateTask(@NonNull Task activeTask);

函数实现中参数检查

@Override
public void openTaskDetails(@NonNull Task requestedTask) {
checkNotNull(requestedTask, "requestedTask cannot be null!");
mTasksView.showTaskDetailsUi(requestedTask.getId());
}

public static <T> T checkNotNull(T reference) {
if (reference == null) {
throw new NullPointerException();
}
return reference;
}

public static <T> T checkNotNull(T reference, @Nullable Object errorMessage) {
if (reference == null) {
throw new NullPointerException(String.valueOf(errorMessage));
}
return reference;
}