northisland
V2EX  ›  问与答

同事喜欢说把组里谁谁谁写的库“hack”一下,还喜欢说“魔改”,请教一下这俩词的含义?

  •  
  •   northisland · Jan 17, 2019 · 5257 views
    This topic created in 2701 days ago, the information mentioned may be changed or developed.

    词汇量跟不上,多谢各位。

    我感觉 hack 是没有从设计源头出发,作出违背设计初衷的改动,但为了支持某种功能。

    魔改也差不多。

    举个栗子:

    调查一下为什么 xxtool 在这种情况下会报错。hack 上叠 hack 是没有前途的。
    
    

    但感觉有可能出错。向各位熟悉这些词汇的同学请教了。

    17 replies    2019-01-17 13:54:25 +08:00
    sbw
        1
    sbw  
       Jan 17, 2019
    workaround
    murmur
        2
    murmur  
       Jan 17, 2019
    没啥含义,就是看你平时喜欢拽英文词还是说汉化词
    eric6356
        3
    eric6356  
       Jan 17, 2019
    魔改这个词我挺喜欢的,应该是从 acg 圈来的
    https://zh.moegirl.org/%E9%AD%94%E6%94%B9
    fuxiaohei
        4
    fuxiaohei  
       Jan 17, 2019
    我这边理解 hack 像是为了自己的功能给程序打补丁,魔改 是为了自己的业务全面乱写各种功能
    woodensail
        5
    woodensail  
       Jan 17, 2019
    我觉得,访问或、修改或替换各种未暴露方法,原型链方法;以及直接对源码动手的行为都符合你的描述。
    northisland
        6
    northisland  
    OP
       Jan 17, 2019 via iPhone
    @fuxiaohei 这么理解 hack 是只在外面包层皮么,魔改是自己开个随便的分支?
    fuxiaohei
        7
    fuxiaohei  
       Jan 17, 2019
    @northisland hack 不一定是包层皮,改了一下绝大部分还是原来那个东西;魔改就会改的不像原来的样子了
    Debiancc
        8
    Debiancc  
       Jan 17, 2019   ❤️ 1
    一个意思。如果你觉得 hack 是比较是正面的话,hack = 质量较高的魔改。那么 魔改 = 🌶🐔hack
    across
        9
    across  
       Jan 17, 2019   ❤️ 1
    啥,我看游戏引擎对 hack 和魔改的理解一直都是:
    hack: 在代码某处进行特例处理(一般是 bug 修复),当然显得不那么优雅。
    魔改:使用艰深的技术,比如模板元编程,搞出一套非常强大却又无比复杂的系统,对使用者要求都很高,用好了能大炮,一不小心能把自己给轰没了。
    yuikns
        10
    yuikns  
       Jan 17, 2019   ❤️ 1
    hack 和魔改意思差不多吧。

    比如现在有个除草机,现在有发动机功能,有轮子,烧汽油。很好,我们 hack 下这个机器,把它改成卡丁车吧。
    简单说就是复用原来功能,做一些新的需求。


    和 workaround 应该有所区别。workaround 是已知 bug,但是修改比较麻烦,那么做下防御性编程,把可能遇到的分支判断暂时用 hard code 引到别的地方。实际上功能可能缺失,但整体可以工作。
    yuikns
        11
    yuikns  
       Jan 17, 2019   ❤️ 1
    如果我没有记错的话,依稀记得,这个语境下讲的 hack 应该是来自上个世纪六七十年代,来自 MIT/CMU 那些大学折腾出来的概念。小时候看 C 缺陷与陷阱还是 C 与指针,作者写一段就喜欢科普下那会儿的小笑话。

    彼时一切都在雏形,互联网还是军用比较多,少量大企业,实验室和学校蹭个基建。大家对这玩意儿什么能做,什么不能做都还没概念。不过和真实世界交互毫无疑问是非常有吸引力的。

    于是他们给 hack 了个可乐机,给它联了网,然后那群 hacker 可以在网上给可乐机的人在线付钱,下一个使用者就被请了一杯。
    还有 hack 了个咖啡机,全网的人都可以检查咖啡机是否煮沸了。
    诸如此类。

    作者介绍说,这就是最早的 hack 了。然后又介绍了一下 hack 的大致意思云云。我理解大致就是楼上我讲的。

    -----

    当然,需要说明的是,这是很久以前在床头读物看到的。可能有所疏漏乃至记错了。
    l00t
        12
    l00t  
       Jan 17, 2019
    我的理解中,hack 是小修改,只针对一两个问题;魔改是功能性地大改。
    murmur
        13
    murmur  
       Jan 17, 2019
    @l00t 那叫爆改
    honeycomb
        14
    honeycomb  
       Jan 17, 2019 via Android
    hack 的味道比 workaround 更接近魔改,workaround 更接近 shim,polyfill
    honeycomb
        15
    honeycomb  
       Jan 17, 2019 via Android
    workaround 是此路不通,我造条临时的路绕到,hack 则是我把这个车轮胎从公路胎换成全地形胎,然后强上。
    LxExExl
        16
    LxExExl  
       Jan 17, 2019   ❤️ 1
    1. To program a computer in a clever, virtuosic, and wizardly manner. Ordinary computer jockeys merely write programs; hacking is the domain of digital poets. Hacking is a subtle and arguably mystical art, equal parts wit and technical ability, that is rarely appreciated by non-hackers. See hacker.


    https://www.urbandictionary.com/define.php?term=hack
    abclearner
        17
    abclearner  
       Jan 17, 2019   ❤️ 1
    hack 是指提高改善创造 避免浪费时间 提升效率
    英文中常用的如
    life hack 生活技巧
    growth hack 增长营销
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3088 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 14:05 · PVG 22:05 · LAX 07:05 · JFK 10:05
    ♥ Do have faith in what you're doing.