英文:
how to modifiy the case in java with too many "if else"
问题
这是我的项目的编码部分。尽管我已经完成了任务,但它太长并且看起来很混乱。有没有办法修改结构并使其更简洁?非常感谢。
代码摘要:它是关于检查数据库中记录是否存在的。如果您需要更多详细信息,请告诉我。
CheckCertRecordDao checkCertHistRecordDao = new CheckCertRecordDaoImpl(connection);
int countCertRecord = 0;
countCertRecord = checkCertHistRecordDao.countCertHistRecordBySerialNo(certIdList);
if (countCertRecord == 0) {
InsertCertRecordDao insertCertHistRecordDao = new InsertCertRecordDaoImpl(connection);
insertedCertHist = insertCertHistRecordDao.insertCertHistRecord(certIdList);
if (insertedCertHist = true) {
countCertRecord = checkCertHistRecordDao.countCertHistRecordBySerialNo(certIdList);
if (countCertRecord == certIdList.size()) {
Als.audit(AlsAction.EXCEPTION, "Number of inserted cert hist record is matched with the certIdList!");
String ModeRecord = null;
CheckModeRecordDao checkModeHistRecordDao = new CheckModeRecordDaoImpl(connection);
ModeRecord = checkModeHistRecordDao.checkModeHistRecordByHcp(modeId);
if (ValidValue.isEmpty(ModeRecord)) {
InsertModeRecordDao insertModeHistRecordDao = new InsertModeRecordDaoImpl(connection);
insertedModeHist = insertModeHistRecordDao.insertModeHistRecord(modeId);
if (insertedModeHist = true) {
ModeRecord = checkModeHistRecordDao.checkModeHistRecordByHcp(modeId);
if (!ValidValue.isEmpty(ModeRecord)) {
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record is completed!");
int countclientRecord = 0;
CheckConnClientRecordDao checkConnClientHistRecordDao = new CheckConnClientRecordDaoImpl(connection);
countclientRecord = checkConnClientHistRecordDao.checkConnClientHistRecord(clientIdList);
if (countclientRecord == 0) {
InsertConnClientRecordDao insertConnClientHistRecordDao = new InsertConnClientRecordDaoImpl(connection);
insertedConnClientHist = insertConnClientHistRecordDao.insertConnClientHistRecord(clientIdList);
Als.audit(AlsAction.INFO, "insertedConnClientHist = " + insertedConnClientHist);
if (insertedConnClientHist = true) {
countclientRecord = checkConnClientHistRecordDao.checkConnClientHistRecord(clientIdList);
Als.audit(AlsAction.INFO, "countclientRecord = " + countclientRecord);
Als.audit(AlsAction.INFO, "clientIdList = " + clientIdList.size());
if (countclientRecord == clientIdList.size()) {
Als.audit(AlsAction.EXCEPTION, "Number of inserted client hist record is matched with the clientIdList");
CheckConnInfoDao checkConnInfoHistRecordDao = new CheckConnInfoDaoImpl(connection);
int connInfoCount = checkConnInfoHistRecordDao.countConnInfoHistRecord(InfoIdList);
if (connInfoCount == 0) {
InsertConnInfoRecordDao insertConnInfoHistRecordDao = new InsertConnInfoRecordDaoImpl(connection);
insertedConnInfoHist = insertConnInfoHistRecordDao.insertConnInfoHistRecord(InfoIdList);
if (insertedConnInfoHist = true) {
Als.audit(AlsAction.EXCEPTION, "Inserting ConnInfo Hist Record is completed!");
connInfoCount = checkConnInfoHistRecordDao.countConnInfoHistRecord(InfoIdList);
if (connInfoCount == InfoIdList.size()) {
Als.audit(AlsAction.EXCEPTION, "Number of inserted connInfo hist record is matched with the InfoIdList");
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.INFO, "Number of inserted connInfo hist record is [NOT] matched with the InfoIdList");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserting ConnInfo Hist Record with error!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "connInfoCount =/= 0, existing the connInfo hist record already!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Number of inserted client hist record is [NOT] matched with the clientIdList");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserting ConnClient Hist Record with error!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "countclientRecord =/= 0, existing the connClient hist record already!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record with error!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record with error!!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "ModeRecord is not empty, existing the mode hist record already!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Number of inserted cert hist record is [NOT] matched with the certIdList");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted cert hist record with error!!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "countCertRecord =/= 0, existing the cert hist record already!");
}
英文:
Here is my coding part of project. Although I have completed the task, it is too long and looks messy. Is there anyway that can modifiy the structure and make it shorter? Thanks alot.
Summarize of the code: It is about checking the record exists or not in the database. If you need some details, please let me know
CheckCertRecordDao checkCertHistRecordDao = new CheckCertRecordDaoImpl(connection);
//CheckCertHistRecord
int countCertRecord = 0;
countCertRecord = checkCertHistRecordDao.countCertHistRecordBySerialNo(certIdList);
if (countCertRecord == 0) {
InsertCertRecordDao insertCertHistRecordDao = new InsertCertRecordDaoImpl(connection);
insertedCertHist = insertCertHistRecordDao.insertCertHistRecord(certIdList);
if (insertedCertHist = true) {
countCertRecord = checkCertHistRecordDao.countCertHistRecordBySerialNo(certIdList);
if (countCertRecord == certIdList.size()) {
Als.audit(AlsAction.EXCEPTION, "Number of inserted cert hist record is matched with the certIdList!");
String ModeRecord = null;
CheckModeRecordDao checkModeHistRecordDao = new CheckModeRecordDaoImpl(connection);
ModeRecord = checkModeHistRecordDao.checkModeHistRecordByHcp(modeId);
if (ValidValue.isEmpty(ModeRecord)) {
InsertModeRecordDao insertModeHistRecordDao = new InsertModeRecordDaoImpl(connection);
insertedModeHist = insertModeHistRecordDao.insertModeHistRecord(modeId);
if (insertedModeHist = true) {
ModeRecord = checkModeHistRecordDao.checkModeHistRecordByHcp(modeId);
if (!ValidValue.isEmpty(ModeRecord)) {
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record is completed!");
int countclientRecord = 0;
CheckConnClientRecordDao checkConnClientHistRecordDao = new CheckConnClientRecordDaoImpl(connection);
countclientRecord = checkConnClientHistRecordDao.checkConnClientHistRecord(clientIdList);
if (countclientRecord == 0 ) {
InsertConnClientRecordDao insertConnClientHistRecordDao = new InsertConnClientRecordDaoImpl(connection);
insertedConnClientHist = insertConnClientHistRecordDao.insertConnClientHistRecord(clientIdList);
Als.audit(AlsAction.INFO, "insertedConnClientHist = " + insertedConnClientHist);
if (insertedConnClientHist = true) {
countclientRecord = checkConnClientHistRecordDao.checkConnClientHistRecord(clientIdList);
Als.audit(AlsAction.INFO, "countclientRecord = " + countclientRecord);
Als.audit(AlsAction.INFO, "clientIdList = " + clientIdList.size());
if (countclientRecord == clientIdList.size()) {
Als.audit(AlsAction.EXCEPTION, "Number of inserted client hist record is matched with the clientIdList");
CheckConnInfoDao checkConnInfoHistRecordDao = new CheckConnInfoDaoImpl(connection);
int connInfoCount = checkConnInfoHistRecordDao.countConnInfoHistRecord(InfoIdList);
if (connInfoCount == 0 ) {
InsertConnInfoRecordDao insertConnInfoHistRecordDao = new InsertConnInfoRecordDaoImpl(connection);
insertedConnInfoHist = insertConnInfoHistRecordDao.insertConnInfoHistRecord(InfoIdList);
if (insertedConnInfoHist = true) {
Als.audit(AlsAction.EXCEPTION, "Inserting ConnInfo Hist Record is completed!");
connInfoCount = checkConnInfoHistRecordDao.countConnInfoHistRecord(InfoIdList);
if (connInfoCount == InfoIdList.size() ){
Als.audit(AlsAction.EXCEPTION, "Number of inserted connInfo hist record is matched with the InfoIdList");
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.INFO, "Number of inserted connInfo hist record is [NOT] matched with the InfoIdList");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserting ConnInfo Hist Record with error!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "connInfoCount =/= 0, existing the connInfo hist record already!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Number of inserted client hist record is [NOT] matched with the clientIdList");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserting ConnClient Hist Record with error!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "countclientRecord =/= 0, existing the connClient hist record already!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record with error!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record with error!!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "ModeRecord is not empty, existing the mode hist record already!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Number of inserted cert hist record is [NOT] matched with the certIdList");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted cert hist record with error!!");
}
} else {
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "countCertRecord =/= 0, existing the cert hist record already!");
答案1
得分: 3
- 做的事情可能还有更多,但你可以从这里开始:
停止代码重复:创建一个新函数,而不是重复这些行:
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "插入模式历史记录时出错!");
- 避免嵌套的if语句
if (!condition) {
return
}
英文:
There is probably more todo, but you can begin with :
- Stop code repetition : create a new function instead of repeating these line :
response.setStatusCode(SirResponse.ERROR_UNKNOWN_CD);
response.setResultMsgByCode(SirResponse.ERROR_UNKNOWN_CD);
Als.audit(AlsAction.EXCEPTION, "Inserted mode hist record with error!!");
- Avoid nesting if statements
if (!condition) {
return
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论