为什么我们在移动之前检查是否为空?

Why do we check if empty before we move?

我看到很多这样的代码:

if WA > SPACES
  move WA to WA2
end-if

这个检查有什么好处?检查它是否为空比移动它更有效吗?

附加信息:

WA 和 WA2 可以是简单的结构(没有填充符),也可以只是简单的属性。它们没有被重新定义和键入为字符或字符结构。它们可以是 low-values(语义上 NULL)或具有字母数字内容。

除了编写代码的人之外,没有人能告诉您真正的原因是什么,但这是一个非常可能的原因:

通常这伴随着一个 ELSE 来涵盖如果值小于空格会发生什么,但在这种情况下,我会假设此数据以后发生的一切都依赖于该字段 NOT是 LOW-VALUES 或一些时髦的不可显示的控制字符。

如果非要我猜的话,我会假设 WA2 被初始化为空格。因此,在移动之前进行此检查可确保不会将低于空格的内容移动到该变量。请记住,小于空格并不意味着空,它只是意味着该字符串的十六进制值小于 X'40'(例如,字符串中充满了低值,它将全部为 X'00'。所以我猜想更多的是确保数据有效而不是效率。