什么是Dirty Hack?

什么是Dirty hack?

答案来自知乎,感觉生动有趣,所以摘抄过来,以做保留!


以不符合设计原理 / 不易维护 / 不易调整 / 不够健壮 / 不够美观的方式解决问题。
比如水管连接处生了锈开始漏——

  • 把水管系统整个重新布置成没有接头的管线,叫做 refactor
  • 按原样把锈掉的水管换新的,叫做 proper fix
  • 把水管拆下来用防渗胶带缠住螺丝纹再装回去,叫做 patch
  • 叫你女朋友先把漏水的地方捂住然后下面放个脸盆接漏水,叫做 monkey patch
  • 用电焊把接头焊起来,叫做 hack
  • 用口香糖塞住漏缝然后用水泥把接头浇筑起来,结果因为那一大坨太重,下面不得不放一根木棍撑着,叫做 dirty hack

Dirty hack 不一定总是坏事,如果你没有脸盆、电焊、管钳、女朋友、新水管和防渗胶带,而这套水管系统反正就快整个报废了的话。


巨硬(微软)的生动展示:
ms_dirty_hack


常规答案:

我觉得上面的例子非常生动,但有点脱离软件开发的场景了。
Dirty hack,首先是hack。
hack就是用非常规的手段搞定(不是解决)某个问题。
比如说有段代码是这样的:a/b
当b为0的时候,这段代码就会报错。
正确的fix是避免b为0。
hack就是这样:

try {
    a/b
}

dirty hack就是在这段代码下面写上: catch{}


:
前方高能,重口味答案:

假设一个女的得了直肠癌——

  • 移植一段正常直肠叫 fix
  • 在肚子上开个口再挂个袋子叫 workaround
  • 人工直肠叫 hack
  • 在阴道上打个洞叫大便从那里出去才叫真正的 DIRTY HACK ~~~
    -_-

发布者

One thought on “什么是Dirty Hack?”

发表评论

电子邮件地址不会被公开。 必填项已用*标注