夏季! 真正存在的可怕代码的故事

夏季! 真正存在的可怕代码的故事


这一次,我收到了shobuno的博客“shobuno的博客”的贡献。
※如果您看不到所有图片,请参阅https://getnews.jp/archives/403527。

夏季! 真正存在的可怕代码的故事

夏季! 真可怕的代码(由CodeIQ * 1×Hatena)

* 1:“CodeIQ”“Hatena Keyword”
http://d.hatena.ne.jp/keyword/CodeIQ

我从事系统开发已有二十年了......

我是一个正常无聊的叔叔工程师,但是当我多年来一直这样做时,这种故事自然会像...

我们今晚介绍一下......

■逻辑以防万一

大约20年前。 这是一个我匆匆忙忙的故事。

说到当时的系统开发,主流是使用COBOL语言(Koboll)的大型计算机。 (也许(^ _ ^;)

COBOL程序的特点是从上到下按顺序编写处理程序

有一个叫做子程序的函数,它使用了一个部分,但基本上它是一种从上到下编写处理的方法。

这是一种易于阅读,效率低下的写作方式。

在一个程序中,1000行和2000行是自然的,如果它变得刺耳,有很多东西,例如10000行或更多,而其他人从其他人的角度不知道它是什么。

那时我修改了现有银行系统的一部分。

校正内容本身很简单,当某些条件的数据进入时,它是在输出文件的区域中设置一定值。

当我尝试修复它并使用某个程序对其进行测试时,输出文件就是这样,并且修正后的结果没有出来......

这很有趣......

当我将5000行的节目输出到一张纸上时,我纠正的地方确实在正确的地方......

当我仔细查看源代码时,经过一段时间我写的代码,有一个地方原始值在同一区域重置...

咦?

我很沮丧,擦掉那个过程,再次重写并测试......

结果是一样的。

如果我再次尝试重写源代码,在我编写之后,会有一个代码可以将其取消更多...(^ _ ^;

经过仔细的关注和回顾所有,完全相同的逻辑写在4个地方......令人惊讶

我搜索了这个程序的作者并直接询问了它。

我“你为什么这样做?”

负责人“不,那....以防万一......(笑笑)”

我“......(^ _ ^;”

我们将此代码命名为“逻辑以防万一”......

■IF恐惧声明

这也是一个与“逻辑以防万一”同时发生的故事......

我负责的在线计划非常庞大。

(大约有10万行...(^ _ ^;)

当我输出源代码时,行号溢出(超大)并且不输出,并且代码是脏的并且无法读取。

(没有评论(注释声明),或嵌套是凌乱的......)

由于长IF语句嵌套在多个层中并且很容易做我想做的事情,所以我制作了一个Excel宏来清理源代码,

当我尝试它时,已经有一段时间了,因为我收到了错误...

我“嗯?发生了什么事?”

Excel“无法找到IF的END IF。”

我“??难怪......宏观失踪?”

即使您查看宏,也没有其他问题。

是......? 不,但这是一个已存在数十年的银行在线系统。

当我检查它时,它是正确的...(^ _ ^;

我真的错过了IF声明的END IF。

如果你检查它,它将在其他程序中出现.... (苦笑)

我很害怕并向发展领导报告。

我“谁,我该怎么办?”

领导者“......而且,因为它暂时在移动,所以让它保持柔软(汗水)”

我“好吧!”

■交换爱情日记

这是一个大约15年前的故事。

当我创建一个Web系统时,我有机会看到另一个系统的源代码。

所以我看到...... (^ _ ^;

(评论)Tatsumi先生,下周你有空吗?

(评论)是的,它将从18点开始免费。

(评论)好吧,◇しない你不在餐厅吃饭吗?

并且,它正在接受一个神圣的代码(交换日记?)! (愤怒)

(顺便问一下,回复?(^ _ ^;)

■无需开放的程序

这也是一家大银行系统的故事......

正如我之前写的那样,我在COBOL中编写了一个程序,但有一天我被一个领导者召集并立即得到命令。

领导者“啊,这是这个代码,但它是计算银行利息的一个非常重要的计划,但没有人触及它。”

我“呃?!”

领导者“这不是COBOL,它是FORTRAN(一种擅长科学操作的编程语言,对吗?)

我“嗯,是的。”

领导者“这可以修复为COBOL吗?”

我“我明白了。我会尝试挑战。”

领袖“哦,是吗?我希望我能。我不必这样做。”

我试着打印出我得到的程序,我很惊讶......

它只有15行。

如此轻松的胜利♪

然而......分析内容花了整整三天时间。

在这个程序中,积分计算程序,


(如果看不到图像,请访问以下网址)
https://px1img.getnews.jp/img/archives/2013/08/code01.jpg

这是程序解决这种表达的原因......

简而言之,x的值被改变为a到b,并且f(x)的值被一个接一个地添加。因此,FORTRAN计算错误和COBOL计算错误不匹配,并且不能得到相同的结果。

我“对不起,这是不可能的......”

领导“是的,谢谢。好吧,让我们再次密封这个程序......”

没有任何人可以接触的“没有开放的节目”。

即使是现在,在某个地方,我觉得我没有任何人活着......(^ _ ^;

写作:本文 。

您贡献的文章截止日期为2013年8月23日。