CodeSOD: 헝가리어 데이트 노트

CodeSOD: 헝가리어 데이트

저자는 코드에서 헝가리안 표기법에 대해 강한 반감을 표현합니다. 저자는 오용 및 잘못된 날짜 처리의 예시를 강조합니다. 특정 코드 조각은 숨겨진 필드 Hdn_SelectedDate에서 초기화된 변수 sCDate2를 사용합니다. 접두사 s는 문자열을 암시하지만, 변수는 날짜를 보유하고 있으며 CDate2 접미사는 설명되지 않습니다. 또 다른 숨겨진 필드인 Hdn_SelectedShifts는 10.5가 10:30을 나타내는 double 형식으로 시간을 저장합니다. 이 값은 DateTime.FromOADate를 사용하여 조작됩니다. 저자는 OLE 자동화의 역사와 1899년 12월 30일에서 오프셋된 특이한 날짜 표현에 대해 자세히 설명합니다. 이 시스템은 1900년을 윤년으로 취급했던 Excel 버그를 상속했습니다. 그런 다음 코드는 double 형식의 시간을 OADate로 변환하고 시간을 추출하여 날짜 문자열과 결합합니다. 저자는 C#의 AddHours 메서드가 더 간단한 해결책이 될 것이라고 지적합니다. 또한, 시간 데이터는 더 일반적인 형식을 사용하는 대신 드롭다운을 위해 수동으로 부동 소수점 숫자로 인코딩되었습니다. 이 복잡한 과정은 헝가리안 표기법에 대한 저자의 전반적인 싫음을 강화합니다.