【发布时间】:2020-06-24 11:53:02
【问题描述】:
有没有办法简化这个java函数?
为了代码的可维护性,需要简化。
public void pushDocument(ESDocumentType esDocumentType, Object data, String documentId, long userId, long organizationId) {
boolean proceed = false;
if (esDocumentType.equals(ESDocumentType.XMLACTIVITY)) {
proceed = Constants.ELASTIC_LOGGING_ENABLED && Constants.ELASTIC_XMLACTIVITY_ENABLED || Constants.SQS_LOGGING_ENABLED;
}
else if (esDocumentType.equals(ESDocumentType.XMLREQRES)) {
proceed = Constants.ELASTIC_LOGGING_ENABLED && Constants.ELASTIC_XMLREQRES_ENABLED || Constants.SQS_LOGGING_ENABLED;
}
else if (esDocumentType.equals(ESDocumentType.ORDERHISTORY)) {
proceed = Constants.ELASTIC_LOGGING_ENABLED && Constants.ELASTIC_ORDERHISTORY_ENABLED || Constants.SQS_LOGGING_ENABLED;
}
else if (esDocumentType.equals(ESDocumentType.SINGIN)) {
proceed = Constants.ELASTIC_LOGGING_ENABLED && Constants.ELASTIC_SIGNIN_ENABLED || Constants.SQS_LOGGING_ENABLED;
} else if (esDocumentType.equals(ESDocumentType.GOOGLESEARCH)) {
proceed = Constants.ELASTIC_LOGGING_ENABLED && Constants.ELASTIC_GOOGLESEARCH_ENABLED || Constants.SQS_LOGGING_ENABLED;
}
if (proceed) {
LogThread logThread = new LogThread();
logThread.pushDocument(esDocumentType, data, documentId, userId, organizationId);
}
}
【问题讨论】:
-
所有表达式似乎都以
Constants.ELASTIC_LOGGING_ENABLED &&开头,以|| Constants.SQS_LOGGING_ENABLED结尾。把它们拉出来包围现有的条件。 -
请立即查看
-
改用开关盒