G26. 정확하라

코드에서 무언가를 결정할 때에는 정확히 결정해야 한다.

결정을 내리는 이유와 예외를 처리하는 방법을 분명히 알아야 한다.

코드에서 모호성과 부정확한 의견차나 게으름의 결과이며 모두 제거해야 마땅하다.

G27. 관례보다 구조를 사용하라

예를 들어 switch/case 문 보다 추상 메서드가 있는 기초 클래스가 더 좋다.

switch/case 문을 매번 똑같이 구현하게 강제하기는 어렵지만, 파생 클래스는 추상 메서드를

모두 구현하지 않으면 안되기 때문이다.

G28. 조건을 캡슐화하라

조건의 의도는 이를 분명히 밝히는 함수로 표현하라.

if(shouldBeDeleted(timer)) { ... }											// Good
if(timer.hasExpired() && !timer.isRecurrent()) { ... }	// Bad

G29. 부정 조건은 피하라

부정 조건은 긍정 조건보다 이해하기 어렵다. 가능하면 긍정 조건으로 표현하라

if(buffer.shouldCompact())			// Good
if(!buffer.shouldNotCompact())	// Bad

G30. 함수는 한 가지만 해야 한다