하드코딩관련해서 질문있습니다.

조회수 396회

하드코딩이 변수에 직접적으로 값을 집어넣은것을 하드코딩된것 이라고 배웠습니다.

그렇다면 한정된 조건안에 들어간 값들도 하드코딩된것인가요? 예를들어

            if (dplctChk > 1) {

                resultMap.put("returnCd", "FAIL");

                resultMap.put("returnMsg", "이미 중복상품이 등록되어 있습니다.");



                return resultMap;

            }



            if(re == 1){

                resultMap.put("returnCd", "SUCC");

                resultMap.put("returnMsg", "정상적으로 처리되었습니다.");

여기서 returnCd 와 returnMsg가 하드코딩인가요?

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 적절히 변해야 하는 값을 별다른 근거 없이 고정해 버리는 일을 하드코딩이라고 합니다.

    예컨대 이런 메소드가 있었다고 가정해 보겠습니다.

    public function setResultMap(resultMap, code, message)
    {
        resultMap.put('returnCd', code);
        resultMap.put('returnMsg', message);
        return resultMap;
    }
    

    그런데 이런 메소드의 존재를 모르고 그냥

    if (re == 1) {
        resultMap.put("returnCd", "SUCC");
        resultMap.put("returnMsg", "정상적으로 처리되었습니다.");
    }
    

    했다면, 이게 하드코딩이죠.

    이러면 안 되는 거에요. 왜냐면, resultMap의 returnCd 프로퍼티를 조작하려고 하는 건 알겠는데, 혹시나 오타 나서 retumCd 프로퍼티를 조작하게 될 수도 있잖아요. 이런 부분이 헷갈리니까 누군가가 setResultMap 메소드를 만들어놓고 인자를 정의해서 변수 대입만 해서 쓰라고 만든 거 아니겠어요? 그런데 이걸 "returnCd"를 하드코딩하면 안 되죠.

    뭐 대충 이런 느낌입니다. 이해가 되셨을지 모르겠네요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)