페니 값에 대한 상수를 만드는 것이 합리적입니까? 예를 들어 한 푼으로 금액을 줄이기 위해 필요한 경우C# 웹 응용 프로그램의 상수
amount -= Constants.StandardAmounts.Penny
을 아니면 내가 귀찮게 단지 0.01를 사용하지해야합니까 당신은 코드가 말했다 경우 더 읽을 생각합니다.
페니 값에 대한 상수를 만드는 것이 합리적입니까? 예를 들어 한 푼으로 금액을 줄이기 위해 필요한 경우C# 웹 응용 프로그램의 상수
amount -= Constants.StandardAmounts.Penny
을 아니면 내가 귀찮게 단지 0.01를 사용하지해야합니까 당신은 코드가 말했다 경우 더 읽을 생각합니다.
를 특정 예에서, 특정 상수는 정말 이해가되지 않습니다.
이이 매우 특정 비즈니스/도메인 로직의 요구 사항 이행 : 페니를 뺄 수있는 두 개의 가장 가능성이있는 시나리오는 그렇다면
이 상수가 Penny = .01
이어야한다, 그러나 StandardDeduction = .01
더 처리 임의 수식/유체 수식 :
그렇다면 숫자 만 사용하십시오.
"페니"는 무의미합니다. 유용한 정보를 추가하지는 않습니다. 이는 constant HelloWorld = "HelloWorld"
을 신고하는 것과 같습니다. 응용 프로그램이 무엇을하고 있는지 모호하게 생각하는 프로그래머 (재무 계산)는 .01이 무엇인지 이해합니다. 상수는 목적에 따라 움직여야합니다.
상수를 사용합니다. 페니 (penny)의 가치가 바뀔 것이기 때문에가 아니라 응용 프로그램의 미래 유지 보수 담당자에게 명확성을주기 위해서입니다.
편집 : 나는이 값이 사용될 장소의 수를 고려할 것입니다.
당신은 더 나은 가독성을 변경할 수 있습니다
amount -= Standards.USCurrency.Penny
나는 방법으로 감소시키고 그 방법에 적절하게 이름을 붙일 것이다 (즉, 제목에 페니가없는 것을 멀리한다). 따라서 예를 들어 슈퍼마켓 응용 프로그램을 가지고 있고 모든 고객이 1 페니 할인을 받으면 DeductCustomerLoyaltyAmount()를 호출하면됩니다. 이것은 다음과 같은 장점이있다 : 지금의 코드를 읽는
누구나가 감소하는 일이 일어나고 이유의 전체 이해를 가지고있다.
메서드의 의미에 영향을주지 않고 감소 값을 변경할 수 있습니다.
세계화 코드 (다른 통화를 처리하기 위해)는 중앙 집중식입니다.
응용 프로그램이 미국 통화 만 사용합니까? –