티스토리 뷰

대답 : 아니요, 값을 나타내는 데 열거 형을 사용하는 것은 좋지 않습니다. 특히 의미 적으로 구별되는 두 척도의 값. 값에 열거 형을 사용하면 안됩니다.

이유 : Percent10 및 SqF600과 같은 두 척도의 열거 형 값 간의 관계는 무엇입니까? 코드 내에서 나타낼 수있는 값 목록을 어떻게 확장합니까? 이 값에 대한 비교 및 ​​산술 연산을 어떻게 수행합니까?

제안 (요청되지 않았지만 그럼에도 불구하고 여기 있습니다. :-)): 수행하려는 작업의 의미는 절대 영역에 대한 하나와 해당 절대 영역의 사용 가능한 백분율에 대한 두 개의 필드를 포함하는 구조체에 의해 더 잘 반영됩니다. 이러한 구조를 사용하면 위의 열거 형으로 나타낼 수있는 모든 것을 나타낼 수 있습니다. 예를 들어, 절대 면적을 제공하는 데이터 공급자는 면적이 100 % 사용 가능한 구조체로 표시됩니다. 백분율을 제공하는 데이터 공급자는 설정 한 백분율이있는 구조체와 해당 영역의 백분율이 데이터 공급자가보고하려는 실제 사용 가능한 영역이되도록 절대 영역으로 표시됩니다. 두 유형의 공급자 모두에서 데이터의 "정규화 된"표현을 얻고 몇 가지 연산자를 추가하여 인스턴스와의 비교 및 ​​산술 계산을 사용할 수 있습니다.

-------------------

가능하다면 예제를 두 개의 값으로 나누고 싶습니다. 여기에서 열거 형은 "Percent"와 "SquareFeet"이고 두 번째 값은 수량 자입니다. 이것들을 구조체로 묶으십시오.

컨텍스트가 허용하는 경우 "Percent"및 "SquareFeet"두 가지 래퍼 유형을 만든 다음 일부 연산자 오버로드를 만드는 것이 더 좋을 수 있으므로 "new SquareFeet (500) + new Percent (20)"와 같은 작업을 수행 할 수 있습니다. " 열거 형 사용을 제거하십시오.

업데이트 : 값이 거의 기호가 될 정도로 업계에서 인정하는 용어 인 경우 이름 지정 체계가 적절할 것입니다. 예를 들어, 두 개의 값 ( "ISO"를 포함하는 열거 형 및 9001의 정수)이 아닌 "ISO9001"과 같은 값을 포함하는 열거 형을 갖는 것이 안전합니다. 다음과 같은 열거 형을 갖는 것도 적절합니다.

public enum OperatingSystem
{
    Windows95,
        Windows98,
            Windows2000,
                WindowsXP,
                    WindowsVista,
                        MacOSClassic,
                            MacOSXTiger,
                                MacOSXLeopard
                                }
                                

용어 "Percentage10"및 "Sqf500"이 예술 용어가 아니거나 사양, 데이터 사전 등에서 잘 정의 된 경우 열거 형의 값으로 사용하는 것은 부적절합니다.



출처
https://stackoverflow.com/questions/180266
댓글
공지사항
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31