我在工作中负责的一件事就是维护旧的Fortran代码。我是一名分析师,我通常理解代码正在解决的问题,但是我对一些代码的问题进行了一些努力。
为了让您了解编写代码的时代,它参考了Grumman Data Systems的TS / RJE服务,该服务连接了IBM 360/67和360/75。 1960年代后期。代码本身仍然有一些算术IF,没有块IF,很多GOTO ......
无论如何,我经常看到的一个怪癖是,子程序的输入将在前几行代码中设置为等于它们自己。像,
SUBROUTINE STUFF(X,Y)
X = X
Y = Y
X = X + Y
RETURN
END
有关他们为何会这样做的任何见解?我能想到的最好的是,如果没有指定输入,它会将其设置为0.但我对我的编译器或他们当天使用的编译器不够了解。 ,说这是否必要/有效。