17장 냄새와 휴리스틱 (404~412)

<aside> 💡 4. 인코딩을 피하라

</aside>

→ 오늘 날 이름 앞에 m_이나 f와 같은 접두어는 불필요하다

<aside> 💡 5. 이름으로 부수효과를 설명하라

</aside>

public objectOutputStream getOos() throws IOException {
	if (m_oos == null) {
		m_oos = new ObjectOutputStream(m_socket.getOutputStream());
	}
	return m_oos;
}

→ 위 함수는 단순히 “oos”만 가져오지 않는다

→ 기존에 “oos”가 없으면 생성한다

→ getOos를 createOrReturnOos라는 이름이 적합하다

테스트

<aside> 💡 불충분한 테스트

</aside>

→ 잠재적으로 깨질 만한 부분을 모두 테스트해야한다

<aside> 💡 커버리지 도구를 사용하라

</aside>

→ 커버지리 도구를 사용하면 테스트가 불충분한 모듈, 클래스, 함수를 찾기 쉽다