현재 위치: > 최신 기사 목록> 상수를 사용하여 매직 숫자를 대체하여 코드 가독성을 향상시킵니다.

상수를 사용하여 매직 숫자를 대체하여 코드 가독성을 향상시킵니다.

M66 2025-05-31

프로그램을 작성할 때 일반적으로 코드를 쉽게 이해하고 유지할 수 있도록하는 방법은 무엇입니까? PHP의 마법 숫자는 의미가없고 수치 값으로만 ​​존재하는 숫자를 나타냅니다. 그들은 종종 코드의 여러 부분에 나타나며,이 숫자가 왜 사용되는지 이해하기가 어렵고 향후 유지 보수에 오류를 도입 할 수도 있습니다. 코드의 가독성을 향상시키기 위해 일반적으로 상수를 사용하여 이러한 마법 숫자를 대체합니다. 이 기사는 왜이 접근법이 코드의 가독성을 향상시킬 수 있는지에 대한 심층을 탐색합니다.

마법의 숫자는 무엇입니까?

마법 숫자는 명확한 의미가없는 값을 나타냅니다. 예를 들어:

 $totalAmount = $price * 0.1;

위의 코드에서 0.1은 마법 번호입니다. 특정 백분율을 나타내며, 이는 할인율 또는 세율 일 수 있습니다. 그러나 0.1을 직접 사용하여 다른 개발자는 코드를 읽을 때이 값이 무엇을 나타내는 지 잘 모르겠습니다. 더 중요한 것은 앞으로이 값을 변경해야한다면 0.1을 사용하여 모든 장소를 수정하는 것을 잊어 버려 오류가 발생합니다.

상수를 사용하여 마법 숫자를 대체하십시오

이 문제를 해결하기 위해 마법 숫자 대신 상수를 사용할 수 있습니다. 상수는 의미있는 이름이며 고정 값을 나타내며 프로그램 전체에서 수정되지 않습니다. 이러한 방식으로 다른 개발자 또는 관리자는 코드를 읽을 때이 값의 의미를 명확하게 알 수 있습니다. 다음은 상수를 사용하여 매직 숫자를 대체하는 방법의 예입니다.

 define('TAX_RATE', 0.1); // 상수를 정의하십시오 TAX_RATE

$totalAmount = $price * TAX_RATE; // 마법 숫자 대신 상수를 사용하십시오

이런 식으로, 우리는 0.1에 특정한 의미 (즉, 10%의 세율)를 제공 할뿐만 아니라,이 값을 수정해야 할 때, 우리는 코드의 모든 곳에서 마법의 숫자를 바라보고 대체하지 않고 상수의 정의를 수정하면됩니다.

상수가 코드의 가독성을 향상시키는 이유는 무엇입니까?

  1. 추가 이해력 : 상수의 이름은 일반적으로 그 의미를 나타내는 의미를 나타냅니다. Tax_Rate를 예로 들어 보자, 코드를 읽는 사람은 0.1 의 의미를 추측하는 데 시간을 소비하지 않고 세율을 나타내는 일정한 것으로 이해할 수 있습니다.

  2. 반복 오류 감소 : 여러 장소에서 동일한 마법 번호를 사용하는 경우 요구 사항이 변경되면 마법 번호가 하나씩 나타나는 모든 장소를 수정하는 대신 상수의 정의 만 수정하면됩니다. 이렇게하면 코드 유지 보수의 누락을 피하고 오류를 줄일 수 있습니다.

  3. 코드의 유지 관리 가능성을 향상시킵니다 . 상수는 일반적으로 전 세계적으로 정의되므로 값이 고정되고 변경되지 않음을 의미합니다. 코드에서 상수의 값을 수정하면 사용되는 모든 것에 즉시 영향을 미칩니다. 이러한 방식으로 코드 수정은 더 집중되고 명확하여 오해를 줄이는 데 도움이됩니다.

  4. 코드의 확장 성 : 상수를 사용하면 향후 변화를위한 더 많은 공간을 남길 수 있습니다. 향후 세율 또는 기타 마법 번호의 가치를 조정 해야하는 경우 코드에서 각 숫자를 수정하는 대신 상수의 정의를 조정하십시오.

해당 시나리오

상수는 프로그램에서 여러 번 사용되는 숫자 값에 적합하며 고정 된 의미를 갖습니다. 예를 들어, 세율, 할인율, PI 등. 이러한 값은 쉽게 변경되지 않으며 특정 비즈니스 의미를 갖고 대신 상수를 사용하면 코드를 더 명확하게 할 수 있습니다.

예 : 상수를 사용하여 URL의 마법 번호를 대체하십시오

때로는 일부 마법 번호 나 문자열이 코드, 특히 URL을 처리 할 때 코드에 관여 할 수 있습니다. URL의 일부에 고정 된 구조 또는 의미가있는 경우 상수를 사용하여 해당 부품을 교체 할 수도 있습니다. 예를 들어 다음 코드를 고려하십시오.

 $url = "https://example.com/api/v1/resource";

여기서 https://example.com 은 마술 문자열입니다. 즉 도메인 이름을 변경 해야하는 경우 각 URL을 수정해야합니다. 이 경우 도메인 이름 대신 상수를 사용하여 코드가보다 유연하고 유지 관리가 쉬워 지도록 할 수 있습니다.