compact 함수 시작부에 캡슐화되지 않은 조건문을 바꾸자
public String compact(String message) {
if (expected == null || actual == null || areStringsEqual())
...
}
의도를 명확히 표현하라면 조건문을 캡슐화해야 한다.
public String compact(String message) {
if (shouldNotCompact())
...
}
private boolean shouldNotCompact() {
return expected == null || actual == null || areStringsEqual();
}
public String compact(String message) {
if (canBeCompacted())
...
}
private boolean canBeCompacted() {
return expected != null && actual == null && !areStringsEqual();
}
private boolean formatCompactedComparison(String message) {
...
}
Index vs Length ?
if (suffixLength > 0)