하드코딩관련해서 질문있습니다.
조회수 390회
하드코딩이 변수에 직접적으로 값을 집어넣은것을 하드코딩된것 이라고 배웠습니다.
그렇다면 한정된 조건안에 들어간 값들도 하드코딩된것인가요? 예를들어
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"
를 하드코딩하면 안 되죠.뭐 대충 이런 느낌입니다. 이해가 되셨을지 모르겠네요.
댓글 입력