CodeSOD:每周精选 笔记

CodeSOD:每周精选

Progress 高级商业语言(ABL)被描述为冗长且类似英语。曾有一位开发者需要获取六个月前的日期,但认为精确性并非必需。这种方法涉及复杂的逻辑来实现近似日期。代码片段展示了这一过程:从当前日期开始,调用一个过程提取周数和年份;条件逻辑调整周数,并可能调整年份以表示大约六个月前的时间;另一个过程将这些调整后的值转换回日期。作者指出,这是一种迂回的日期算术方法。实际上,Progress ABL 拥有专用的函数 ADD_INTERVAL 用于此类计算。Mirjam 用一行代码调用该函数,替换了整个变通方案。该语言在日期处理上也表现出奇特的特性,允许从整数构建日期,覆盖从远古农业时代之前到遥远未来的广阔时间范围。这种冗长的特性和不寻常的日期处理共同促成了"WTF"这一评价。