15장 JUnit

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)