exercism / java-analyzer

GNU Affero General Public License v3.0
7 stars 13 forks source link

there is no need to use substring in the result method in this code, kindly review #176

Open johanjaguardev opened 1 month ago

johanjaguardev commented 1 month ago

public class LogLevels {

public static String message(String logLine) {
    int startMessageIndex = logLine.indexOf("]:") + 2;
    String result = logLine.substring(startMessageIndex, logLine.length());
    return result.trim();
}
public static String logLevel(String logLine) {
    int startLevelIndex = logLine.indexOf("[") + 1;
    int endLevelIndex = logLine.indexOf("]");
    return logLine.substring(startLevelIndex, endLevelIndex).toLowerCase();
}
public static String reformat(String logLine) {
    return LogLevels.message(logLine) + " (" + LogLevels.logLevel(logLine) + ")";
}
public static void result() {
    String logLine = "[ERROR]: Invalid operation";
    String formattedString =  LogLevels.reformat(logLine);
}

}

and the suggestion is: Consider using the substring method in result to solve this exercise. but for this exercise the substring method is implemented in the other methods, kindly review.

manumafe98 commented 1 month ago

@johanjaguardev Thanks for opening this issue! You caught a bug, you're right, the bug is being caused by the extra result method that you added, because our analyzer function checks that all method excepting reformat contain either substring or split. in this case is detecting that result does not have any of them and triggers the comment.