CodeSOD: 주간 계산
Progress Advanced Business Language (ABL)는 장황하고 영어와 유사하다고 묘사됩니다. 한 개발자는 과거 6개월 전의 날짜가 필요했지만 정확성은 불필요하다고 판단했습니다. 이 접근 방식은 근사 날짜를 얻기 위해 복잡한 로직을 포함했습니다. 코드 스니펫은 현재 날짜에서 시작하여 이 과정을 보여줍니다. 그런 다음 주 번호와 연도를 추출하는 프로시저를 호출합니다. 조건부 로직은 대략 6개월 전을 나타내기 위해 주 번호와 잠재적으로 연도를 조정합니다. 다른 프로시저는 이러한 조정된 값을 다시 날짜로 변환합니다. 작성자는 이것이 날짜 산술을 위한 우회적인 방법이라고 언급합니다. Progress ABL에는 실제로 이러한 계산을 위한 전용 함수인 ADD_INTERVAL이 있습니다. Mirjam은 이 함수를 사용하여 전체 임시방편을 한 줄로 대체했습니다. 이 언어는 또한 특이한 날짜 처리를 보여주며, 농업 이전부터 먼 미래까지 방대한 역사적 및 미래 범위 내의 정수로부터 날짜를 구성할 수 있습니다. 이 범위는 농업 이전부터 먼 미래까지 확장됩니다. 장황한 특성과 특이한 날짜 처리가 "WTF" 측면에 기여합니다.