各位同学,请看下面的代码:
public String login2() {
if (param_user.getUsername().equals("ADMIN")) {
User db_user = userDao.findByUserName(param_user.getUsername());
if (db_user != null) {
boolean login_result = db_user.login(param_user);
if (login_result) {
session.setAttribute("userid", param_user.getUsername());
return LOGIN_SUCC;
} else {
return PASSWORD_ERROR;
}
} else {
return USER_NOT_EXIST;
}
} else {
return NOT_ALLOW_LOGIN;
}
}
这是一个标准的login流程,现在在工作中也看到好多人这样写。是的,这段代码并没有什么问题,但是缩进的层次太多了,如果每个if,else里面需要进行很多操作的话,那会使看代码的人头晕目眩,如果使用一下代码:
public String login1() {
if (!param_user.getUsername().equals("ADMIN"))
return NOT_ALLOW_LOGIN;
User db_user = userDao.findByUserName(param_user.getUsername());
if (db_user == null)
return USER_NOT_EXIST;
boolean login_result = db_user.login(param_user);
if (!login_result)
return PASSWORD_ERROR;
session.setAttribute("userid", param_user.getUsername());
return LOGIN_SUCC;
}
效果和第一段代码一样,但是代码的缩进少了很多,增加了代码的可读性。