查看原文
其他

程序员离职删光代码注释违法吗?

脚本之家 2023-01-28

The following article is from 非著名程序员 Author loonggg

 关注
脚本之家
,与百万开发者在一起

大家好。

前几天,看到这么一个问题,感觉很有意思。

看到这个问题,让我想起来了一个案例。

案例当中的做法不是删除注释,而是更改了所有项目的注释。

案例故事是这样的:

近日,一位叫托马斯的读者向大家分享了一则发生在 1970 年代的故事:一个前同事离职前一顿骚操作、导致他莫名被 “坑” 的故事。

在上个世纪 70 年代,各种繁杂的工具库还未出现,程序员需要遵守的开发思路很简单:优化,提高资源利用率。当时的托马斯还是一名初出茅庐的程序员,有幸被招聘进了一家咨询公司,接手一位前同事的工作 —— 托马斯对这位前同事的形容是:一个非常聪明也十分讨厌的 “混蛋”(以下简称这位前同事为 “HD”)。

平心而论,在托马斯看来 HD 被公司辞退其实有些 “冤”:

公司经理们对项目难度缺乏正确认知,给 HD 设定了一个根本无法实现的最后期限。但 HD 还是坚持下来了,甚至为了完成项目代码,他每周工作时长在 100 小时以上。然而,公司管理层因其产生的加班费感到不满,并由此拒绝了 HD 的加班申请。结果可想而知:HD 与公司管理层产生了巨大分歧,大吵一架后,公司决定解雇 HD。

但问题在于,公司还给了 HD 一个月时间,要求他完成当前项目的代码再走。可试问:在这种辞退理由下,HD 会心甘情愿、老老实实做完这一个月吗?答案是否定的,HD 果然做了一些 “小动作”:他更改了代码中的所有注释。

乍听之下这好像这不是什么大问题,可你要知道,这个举动发生在 1970 年代:在那个年代,高级编程语言还未兴起,

公司所有项目代码均由汇编语言编写,而不是没有原因的 —— 在托马斯看来,如果没有深入研究过,汇编语言的晦涩难懂无异于机器语言。这也就是托马斯认为 HD “非常聪明也十分讨厌” 的原因:项目代码本身没问题,运行情况也良好,可对于下一个接手项目的人来说,早已与实际功能不符的代码注释就是 “地雷”。后来,这颗 “雷” 不幸地误伤到了倒霉的托马斯:“我接手了 HD 的项目,第一个任务是在 HD 的代码中添加更多功能。

结果当然失败了,因为我查看了代码注释。” 尽管将问题汇报至管理层,托马斯却并未获得有效回应,而他担心他也会被因此辞退,又接连进行了几次检查,最终得出结论:

代码注释果然是在胡说八道。可惜,就算明白了问题所在,当时整个公司也没人能弄清楚代码的哪些部分做了什么,所以最后只能删除所有注释,再将其黑盒化。

据托马斯表示,一年之后他就离开了这个项目,但黑盒代码此后还运行了五年,直到一家新的咨询公司接管了它:“即使如今,这些代码可能仍在某个地方运行,毕竟黑盒代码像蟑螂一般顽强。”

到这里故事基本上结束了。

看到了吗?这个故事是发生在 1970 年,当时对注释动了手脚,是没问题的,也不会被发现,即使被发现也没用。

因为根据当时的条件,有两个因素导致对代码注释动手脚是成立的:

1、没有代码管理工具;

2、当时的代码是汇编,属于低级编程语言,晦涩难懂。

没有代码管理工具,公司就无法证明同事 HD 对代码动了手脚;低级编程语言晦涩难懂,对注释动了手脚之后,很难理解,恢复并搞懂很难,所以,只能将其黑盒化了。

但是,现在则不同了,随机技术的发展。对代码注释动手脚的两个因素都被破除了。

1、我们现在拥有了代码管理工具,你对注释动了手脚,也可以会滚,而且很容易查到你是故意为之的,这时候,对注释动手脚也属于破坏代码的一部分,虽然系统能够正常运行,但是,还是破坏了代码,公司要告你,也极有可能成立。

2、假设你对注释动了手脚,删除了注释,甚至混淆了注释,但是,现在大多数编程语言都是高级语言,搞懂比较容易,虽然可能会费点时间,但是,恢复起来并不是想象中的那么难。

综合下来,我想说:程序员离职删光代码注释是否违法,我不知道,但是,毫无意义,有点掩耳盗铃的意思。

<END>
9.9元抢980元电影卡
👇👇
【☝🏼点击查看更多详情】



  推荐阅读:
墙裂推荐!这才是专属程序员们的卫衣!
千万别在有WiFi的房间里摆这种姿势,只因……
代码中被植入了恶意删除操作,太狠了!
这个线上事故,直接把年终奖给干没了。。
把代码贴进去自动找bug,这个debug神器自动修复仅需几秒,还有GPT-3在线解惑
Office 2019/2021专业增强版,正版终身授权!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存