더북(TheBook)

새로운 코드는 알려진 이슈를 모두 해결했습니다. 먼저 모든 인수에 대해 null 값 여부를 확인합니다. 이어서 도메인에 따른 제한을 확인합니다.

또한 메서드 서명 내 인수 순서에 따라 확인하도록 바꾸었습니다. 매개변수 유효성 검사를 적절한 순서로 수행함으로써 읽기 흐름이 크게 향상되었으니 좋은 관례입니다. 이렇게 하면 어떤 매개변수 하나를 빠뜨릴 위험이 거의 없습니다. 끝으로 내장 메서드를 사용해 빈 문자열인지 확인했습니다.

항상 이 정도 수준으로 매개변수 검증을 해야 하는지 의문이 들 수 있을 텐데요. 그렇지 않습니다.

경험에 비추어보면 매개변수 검사는 publicprotected, default 메서드에만 하면 됩니다. 이러한 메서드는 코드 어디서든 접근할 수 있고 접근이 어떻게 일어나는지 제어하기 어렵거든요.

반대로 private 메서드를 생성할 때는 메서드에 null을 전달하지 않게 할 수 있습니다. 따라서 위와 같은 유효성 검사를 수행하지 않아도 되죠.

파일 오픈 옵션

StandardOpenOptions의 뜻이 궁금할지도 모르겠습니다. StandardOpenOptionsFiles.write() 메서드의 동작을 명시합니다. 이름만으로도 쓰임새를 대충 이해할 수 있지만 여러 가지를 서로 조합해 쓸 수 있다는 사실도 알아두세요.

이미 파일 시스템에 존재하는 파일에 APPEND하고 싶을 때 CREATE 플래그를 설정해도 괜찮을지 걱정하지 않아도 되니 무척 유용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.