조회

    [클린 코드] 함수(1)

    명령과 조회 명확히 분리하기 함수는 무엇인가를 수행하거나, 답하거나 둘 중 한가지만을 해야한다. 객체의 상태를 변경하거나, 객체의 정보를 반환하거나 둘 중 하나만 해야한다는 말이다. 예를 들어 다음 함수를 예를 들어 보자. fun set(attr: String. value: String): Boolean { ... } 위 set 함수는 이름이 attr인 속성을 찾아 값을 value로 바꾼 후 성공한다면 true를 실패한다면 false를 리턴한다. 문제는 이런 메소드를 사용하면 아래와같은 어색한 형태의 코드가 나온다. if(set("name", "MJ")){ ... } 이런 형태의 메소드가 가지는 단점은 누군가가 이 코드를 볼때 "name"이 "Tom"으로 설정 되어있는지 체크하는 코드인지, 아니면 "na..