HardCoding

  • 변수나 상수 이용 없이 상수나 매직넘버 같은 고정 값을 코드에 직접 삽입하는 방식을 의미
  • 변수나 상수를 사용하는 대신 고정 값을 코드에 직접 삽입하는 방식
  • 유연성을 떨어뜨리고 향후 변경을 어렵게 만든다.

하드 코딩이 가지는 의의

1. 유연성 부족

  • 코드 베이스의 유연성이 떨어진다는 점이다.

    2. 가독성 저하

  • 코드를 읽고 이해하기 어렵게 만들 수 있다.

    3. 오류 위험 증가

  • 여러 곳에 하드 코딩했다면 수정 중 까먹거나 해서 오류가 발생할 수 있는 잠재적 위협이 된다.

    4. 유지보수의 어려움

  • 하드코딩된 곳을 고쳐야한다면 찾아가면 직접 고쳐야하므로 유지보수성을 낮춘다.

피하기

1. 상수 사용

  • 최상위 또는 별도의 클래스에 상수로 정의

    2. 구성 외부화

  • 코드 변경 없이 쉽게 업데이트할 수 있는 구성 파일이나 속성 파일로 이동

    3. 값 매개변수화

  • 코드 내 하드 코딩 대신 밖에서 파라미터로 전달되도록 구성

    4. 의존성 주입

  • 의존성 주입 프레임워크로 구성 가능한 값을 코드로 주입

    5. 디자인 패턴 사용