CodeSOD: 週次計算 ノート

CodeSOD: 週次計算

Progress Advanced Business Language (ABL) は冗長で英語に似ていると説明されています。ある開発者は過去 6 か月の日付が必要でしたが、正確さは不要と判断しました。このアプローチでは、おおよその日付を実現するために複雑なロジックが必要でした。コードスニペットはこのプロセスを示しており、現在の日付から始まります。次に、週番号と年を抽出するプロシージャが呼び出されます。条件付きロジックにより、週番号と場合によっては年が調整され、おおよそ 6 か月前を表します。別のプロシージャがこれらの調整された値を日付に変換します。著者は、これは日付計算の回りくどい方法であると述べています。Progress ABL には、このような計算のための専用関数 ADD_INTERVAL が実際にあります。Mirjam は、この関数を使用した 1 行で、すべての回避策を置き換えました。この言語は、広大な過去および未来の範囲内の整数から日付を構築できる、特異な日付処理も示しています。この範囲は、農業以前から遠い未来まで及んでいます。冗長な性質と珍しい日付処理が、「WTF」の側面を形成しています。