【发布时间】:2020-06-25 23:12:59
【问题描述】:
您好,我很难降低认知复杂性,有什么方法可以降低吗? 任何帮助,将不胜感激。由于 Sonarlint,我无法通过我的代码
谢谢
private void addSth(List<Integer> myStatus, List<String> myId, String taskOwner, StringBuilder queryStatement, List<Object> args) {
if (null != myStatus&& myStatus.size >0) {
queryStatement.append("and (");
for(int i = 1; i <= status.size(); i++) {
int status = myStatus.get(i-1);
switch (status) {
case 1:
StringBuilder potSth = new StringBuilder();
if (null != myId && myId.size() > 0) {
pothSth.append("(");
for (int j=1; j <= myId.size(); j++)
pothSth.append(" ? ");
if (j < myId.size())
pothSth.append(", ")
pothSth.append(")");
queryStatement.append("sth");
queryStatement.append(pothSth);
queryStatement.append(")\n");
args.add(1);
for (String pOwner : ownerId) {
args.add(pOwner);
break;
case 2:
case 3:
queryStatement.append("or ");
args.add(status);
args.add(taskOwner);
if (i < myStatus.size ) {
queryStatement.append("or ");
【问题讨论】:
-
您能否edit 您的问题包括您的所有代码,您是否还可以格式化您的代码以便更容易理解。
标签: java spring algorithm spring-boot jackson