개발을 하다보면 boolean 타입의 파라미터를 넘기는 코드들을 자주 접할 수 있다. 간혹 이러한 코드들은 가독성을 떨어뜨리는데, 괄호 안에 존재하는 boolean의 의미를 알기 위해서는 선언부까지 확인해야 되기 때문이다.
read(key, true);
심한 경우에는 아래와 같이 boolean 타입이 여러개가 오는 코드도 본적이 있다. 이런 경우에는 코드의 가독성도 문제가 되지만, 개발자의 실수로 파라미터의 순서가 바뀌게 된다면 원인을 찾기 힘든 버그를 만들어 낼 것이다.
read(key, true, false);
아래처럼 enum과 같은 타입을 정의하여 사용하면 가독성은 물론이고, 만약 개발자의 실수로 파라미터의 순서가 바뀌기라도 한다면 컴파일러는 이 잘못된 부분을 정확히 짚어낼 것이다.
enum class CACHE { YES, NO };
enum class SORT { ASC, DESC };
read(key, CACHE::YES, SORT::DESC);
'CleanCode' 카테고리의 다른 글
Error handling - 우아하게 실패하는 방법 (0) | 2019.07.20 |
---|---|
javascript AOP (0) | 2016.10.18 |