Title Text:And because if you just leave it there, it’s going to start contaminating things downstream even if no one touches it directly.
Origin:https://xkcd.com/2138/
https://www.explainxkcd.com/wiki/index.php/2138:_Wanna_See_the_Code%3F
想瞧瞧代码?
因为如果你把它放在那里,即使没有人直接接触它,它也会开始污染下游的东西。
https://mp.weixin.qq.com/s/irhyFZKlN2vO6M_z528n4g
此解释可能不完整或不正确:由DEAD BODY创建。简要说明。请勿过早删除此标记。如果您可以解决此问题,请编辑该页面!谢谢。
这部漫画是Code Quality系列的延续。 Cueball宣称他已经编写了一个脚本来自动完成一些(可能是耗时或乏味的)任务,这首先让Ponytail高兴……直到她记得Cueball的代码有多乱,并且担心。
Cueball提供向她展示代码,但是马尾辫(经常对Cueball的代码质量做出讽刺性的讽刺)评论说,听起来他正在疯狂地邀请她去看尸体。 Cueball非常接受这种比较,并指出他的代码确实至少与已故尸体有一个相似之处:虽然不愉快,如果马尾辫允许它不受控制,它会导致问题随着时间的推移会越来越严重。
然后马尾辫发表了一个近乎威胁的评论,她说他很幸运,人们都明白他的代码会导致问题多于解决问题,而且尸体会产生比他们解决的问题更多的问题。很可能这意味着他们明白杀死他会导致比解决更多的问题(解决的问题无疑是他的代码)。
这可能是对软件开发中技术债务概念的一种参考:这种观点认为,最初的糟糕实施会随着时间的推移产生一种“复利”,越来越难以修复它所保留的时间越长。发生这种情况是因为任何未来的发展可能都必须采取非正统或未经推荐的措施来解决已经存在的问题,使得系统越多越复杂和脆弱。
在“尸体”类比中,最近死亡的尸体比一个已经离开几周的尸体更容易处理,这些尸体会腐烂,令人不快地发臭,并且可能会吸引疾病蔓延的害虫。
在标题文本中,“下游”具有双重含义,因为它是适用于尸体在某条河流中或附近分解的情况的术语,以及软件工程概念:在河流情况下,尸体会污染它所喂养的水或地下水,并对与水接触的生物产生影响。在软件工程类比中,“下游”是指源自或依赖于“上游”软件的软件,如Cueball设计的尸体。流水和软件的因果关系具有相当的可比性:两者都可以看作是(几乎)无限可分和可重组的原子流。