V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nomemo
V2EX  ›  程序员

把代码写得简单易懂到底好不好?

  •  1
     
  •   nomemo ·
    nomemo · 2014-11-25 10:58:39 +08:00 · 16412 次点击
    这是一个创建于 3655 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近我喜欢把那些逻辑复杂的大块难懂的代码不再称作垃圾,倒喜欢叫做方法原型或者脑中原始方法的直接映射。也正是因为这样,开始整理那些方法原型,进行拆分与细化。复杂逻辑写得越来越简单易懂。

    虽然同事也会说代码漂亮,但就越来越感觉自己容易被人取代

    正好,上周有个同事因为家里有事回家一周,他手上的工作就完全停止,因为他大量的代码与功能实现都还是代码原型。

    我上周工作了七天,昨天休息了一天,结果别人拿着我的代码就能改。

    略微有些想法,跟V友分享一下
    第 1 条附言  ·  2014-11-25 12:13:14 +08:00
    感谢各位V友的热情回复,回复中有很多很好的建议,学习了
    第 2 条附言  ·  2014-11-25 14:17:56 +08:00
    之前写这个问题的时候自己有几个点没想太清楚,并不是说我不想把代码写好。

    后来看到V友的回复 有几个点确实是我一开始想说没说清楚的。


    如:
    61楼说的,我是优币,不想被劣币驱逐

    52楼所说,我也不想成为别人的垫脚石

    32楼所说,有这个想法的一个诱因,印象深刻

    17楼所说,其实这并不是一个态度问题,我只是想让自己能有口饱饭吃
    122 条回复    2014-11-27 21:39:00 +08:00
    1  2  
    cougar
        1
    cougar  
       2014-11-25 11:01:58 +08:00
    看过一篇文章,说是一个外国程序员接手一个前任同事的修改项目,里面的变量什么的都是番茄、土豆等食品的名字

    表达的意思应该和楼主的意思差不多,哈哈
    a591826944
        2
    a591826944  
       2014-11-25 11:06:39 +08:00
    @cougar 这有点替换加密的意思啊
    nomemo
        3
    nomemo  
    OP
       2014-11-25 11:07:30 +08:00
    @cougar
    恩,毕竟让一个程序员变得无法取代的方法其实不多

    大部分公司也不会说少了谁就不转了,而这种大神级的人物也是一时半会儿做不到的
    7654
        4
    7654  
       2014-11-25 11:15:54 +08:00
    这种情况下需要一个懂点什么的领导
    cougar
        5
    cougar  
       2014-11-25 11:16:26 +08:00
    @a591826944 有点那个意思吧,我觉得是想把项目私有化,潜台词:搞死下一任 or 炒了我你就over
    cougar
        6
    cougar  
       2014-11-25 11:16:53 +08:00   ❤️ 1
    @nomemo 所以说开发规范是多么的重要
    jmu
        7
    jmu  
       2014-11-25 11:16:54 +08:00 via Android   ❤️ 3
    代码还是在那里,还是你的成果,为什么害怕?
    这不是取代,是继承。这样说会容易接受吧
    sun1991
        8
    sun1991  
       2014-11-25 11:20:03 +08:00   ❤️ 1
    能把复杂的代码简单化是一种高级技能.
    nomemo
        9
    nomemo  
    OP
       2014-11-25 11:21:44 +08:00
    @jmu

    也许吧,那说个另一个说法,如果你写出来的代码很好,谁都看看就能修改,也许在老板眼里你就会不那么重要

    涨工资的也许在别人眼中是多加分还是少加分,真还不一定
    mcfog
        10
    mcfog  
       2014-11-25 11:23:36 +08:00   ❤️ 4
    如果领导真的觉得“你的代码别人都会改,所以你不如别人”,那这样的领导不跟也罢
    nomemo
        11
    nomemo  
    OP
       2014-11-25 11:24:03 +08:00
    @cougar
    是的,之前我们的老项目是没有代码规范的

    所以老项目不是我做的部分我几乎不想去改

    现在新项目架构层主要我在弄,但感觉谁都可以动动手,多少是有些不爽的
    nomemo
        12
    nomemo  
    OP
       2014-11-25 11:24:50 +08:00
    @mcfog

    我的领导倒不一定会这么想,只是想在以后的工作中如果这样大家会怎么办。
    zhaoace
        13
    zhaoace  
       2014-11-25 11:25:48 +08:00   ❤️ 1
    从领导角度来说,有个不可替代的下属是非常危险的事情啊。。。

    所以如果我是领导还是喜欢你这种下属吧。毕竟领导自己撸(袖)管子上也不是很罕见嘛哈哈哈。

    Good job! 别想太多!
    xenme
        14
    xenme  
       2014-11-25 11:27:35 +08:00
    写的简单明了不好,你看人家加密都要加花。
    你可以考虑写的比加花还恐怖,别人拿到源码都看不懂,破解不了。
    然后就只有你能干了,不可替代。
    akfish
        15
    akfish  
       2014-11-25 11:28:48 +08:00 via iPad
    代码写成别人看不懂的渣是为了避免被取代?这逻辑真是醉了。
    放到层次稍高一点的公司,这种人死得最快。
    xmvagrant
        16
    xmvagrant  
       2014-11-25 11:29:28 +08:00   ❤️ 1
    一直觉得能把代码写得简单易懂是一种能力!
    nomemo
        17
    nomemo  
    OP
       2014-11-25 11:29:59 +08:00
    @xenme 不需要说这种反讽的话

    毕竟成长为一个受人尊敬的大神需要很长的时间

    为了当下能有饭吃,吃饱饭,我觉得我的担忧还是有必要的
    PrideChung
        18
    PrideChung  
       2014-11-25 11:31:31 +08:00   ❤️ 1
    如果写个代码都要搞得好像宫斗剧一样算计来算计去,这种公司我还是趁早滚蛋吧
    nomemo
        19
    nomemo  
    OP
       2014-11-25 11:31:39 +08:00
    @akfish

    每个人所处的环境不同嘛,不是每个人都能遇到这种事就拍拍屁股说老子不干了的
    zyAndroid
        20
    zyAndroid  
       2014-11-25 11:33:02 +08:00
    在公司里写东西当然要简单易懂,可读性挺重要的其实,comment 也要写写清楚
    em70
        21
    em70  
       2014-11-25 11:34:54 +08:00 via Android   ❤️ 1
    《数学之美》说任何一个事情都有一个简单方法解决,找到这样的方法不是偷懒,越简单的方法才越稳定,更有生产力。
    Doubear
        22
    Doubear  
       2014-11-25 11:35:02 +08:00
    最烦逻辑太复杂的东西了,看都看不懂。也最烦为那些本来很简单的意思,非要取个名称让人摸不着头脑的。很妨碍新手学习~~~
    jeffrey
        23
    jeffrey  
       2014-11-25 11:35:49 +08:00   ❤️ 1
    @nomemo 架构层人人可以看可以提建议,但只能个别人修改
    别人提交的全部退回,弄过几次就好了
    xenme
        24
    xenme  
       2014-11-25 11:37:21 +08:00
    @nomemo 真没讽刺,只是夸张了点。
    其实这个还是看老板。就像大家写的,简单明了,老板会说你没价值,这么简单别人也能搞,写的复杂,老板担心人走了,没人接手。
    boom11235
        25
    boom11235  
       2014-11-25 11:37:58 +08:00   ❤️ 8
    @mcfog 这个说法很对。
    好的程序员要让自己很容易被替代,才能继续往上走,不然你只能focus在自己负责的那一块东西上。
    oldcai
        26
    oldcai  
       2014-11-25 11:38:20 +08:00   ❤️ 2
    通过这种方法不让别人接手是比较短视的,不断有人来接手,项目成了,是自己的成就;没人能接手,自己也忙不过来了,项目拖垮了,自己虽然能拿到工资,也是白费了自己的时间。
    Comdex
        27
    Comdex  
       2014-11-25 11:39:29 +08:00
    这不是技术问题而是管理问题了矣。。。
    tomydays
        28
    tomydays  
       2014-11-25 11:41:03 +08:00   ❤️ 1
    Simple is better than complex.
    Complex is better than complicated.
    nomemo
        29
    nomemo  
    OP
       2014-11-25 11:41:30 +08:00
    @boom11235

    目前看到的最好的回复
    assassinpig
        30
    assassinpig  
       2014-11-25 11:44:15 +08:00
    底层和核心代码写的易懂一些,毕竟出了问题好找,其他地方可以选择写飘逸一点,不简单但是少读两本书的肯定看不懂写不了
    caixiexin
        31
    caixiexin  
       2014-11-25 11:44:25 +08:00
    就像把话简单说一样,这是个很好而却很难实现的技能啊。。
    icedx
        32
    icedx  
       2014-11-25 11:45:55 +08:00 via Android   ❤️ 1
    nomemo
        33
    nomemo  
    OP
       2014-11-25 11:47:44 +08:00
    @icedx 这个我看过

    也是看过这个刚好结合着昨天一天的休息后想到的
    pythoner
        34
    pythoner  
       2014-11-25 11:50:47 +08:00
    @tomydays 我大python党就是思想境界高
    hackerwgf
        35
    hackerwgf  
       2014-11-25 11:52:08 +08:00
    我觉得把代码写的简单是挺好的一件事
    jeansfish
        36
    jeansfish  
       2014-11-25 11:52:44 +08:00
    本事是自己的。拆成一个个简单的之后,或许别人直接改你的局部代码,而不再关心全局的架构、思想了。原来一个原型,别人要改,可能就要把前前后后都看一遍,全理解了才好下手。
    robertlyc
        37
    robertlyc  
       2014-11-25 11:54:02 +08:00
    你以为想写简单就能写简单了? naive
    我还想当美国总统哪
    semicircle21
        38
    semicircle21  
       2014-11-25 11:54:26 +08:00
    写别人看不懂的代码, 在做 Code Review 的时候, 不是会被骂的狗血淋透才对么?
    lushl9301
        39
    lushl9301  
       2014-11-25 11:54:59 +08:00   ❤️ 1
    让我想起了云风。。。最近在看他的书。

    他的同事都是拿着他写的框架等等来完成整体代码实现的。

    1.自己写的懂
    2.了解别人水平,自己写出来让别人懂

    比如找个地方可以实现,没有很难。那就写几行注释,标明interface,然后交给同事去写。自己完成架构和核心性能部分。
    lushl9301
        40
    lushl9301  
       2014-11-25 11:57:29 +08:00
    @icedx 已经被深深感动。。。
    cszhiyue
        41
    cszhiyue  
       2014-11-25 11:57:58 +08:00
    楼主心态要放正啊..首先把代码逻辑写简单是一种能力的体现.其次对于代码你的责任不是去维护它.难道一旦发生什么事都要你去做...解放自己,方便他人,何乐而不为.你的面前是星程大海
    Automan
        42
    Automan  
       2014-11-25 11:58:30 +08:00
    某本禅书中看到的,能让计算机读懂你的代码容易,能让人读懂你的代码的才是高手
    akfish
        43
    akfish  
       2014-11-25 11:59:13 +08:00   ❤️ 3
    @nomemo 当然你想在这种环境一直待下去,这种市井小民的“小聪明”也是一种生存方式。
    问题是你的职业规划就是从一个路边摊到另一个路边摊么?如果不是,把该做的都做了,而且做得更好,吃点小亏(比如被另外一个更便宜的店小二替代了)又怎样?那时你水平到位早就不用去路边摊了。
    jsjscool
        44
    jsjscool  
       2014-11-25 12:15:55 +08:00
    推荐看《重构》
    zakokun
        45
    zakokun  
       2014-11-25 12:23:04 +08:00
    我觉得,从短期利益上来看,写的复杂点是有好处的,就像你说的,让自己在位置上坐的更稳固.但如果从个人能力提高上来说,我觉得还是清晰易懂更好,人不能总是处在一个层次不提高不是?
    jiang42
        46
    jiang42  
       2014-11-25 12:25:08 +08:00
    代码是写给人看的,只不过恰好计算机也能看懂罢了。
    NathanInMac
        47
    NathanInMac  
       2014-11-25 12:26:07 +08:00
    性能没大差距的情况下,越无脑越好
    sadaharu09
        48
    sadaharu09  
       2014-11-25 12:27:41 +08:00 via iPhone
    结构合理,简单易懂即可。
    kofj
        49
    kofj  
       2014-11-25 12:35:11 +08:00
    把代码写到大家都能看懂始终非常厉害的技能,如果你达到了,压根儿就不用为工作什么的担心
    ruchee
        50
    ruchee  
       2014-11-25 12:36:43 +08:00 via Android
    写得简单易懂才是能力的体现,其他别想太多
    zakokun
        51
    zakokun  
       2014-11-25 12:39:21 +08:00
    @zakokun 但是,另外来说,我不知道有没有那个能力让自己水平提高到能脱离这种庸俗的环境. 就像我自己经常觉得中国的各种状况让人不满,然后我就经常对自己说"不和他们一般见识,我不屑和他们为伍",但是,即使再怎么挣扎,依然不得不去面对这些,真是......
    tini8
        52
    tini8  
       2014-11-25 12:46:03 +08:00
    古人云:杀人放火金腰带,铺路修桥无尸骸

    殖民者说:善良的印第安人就是死了的印第安人

    为他人考虑的人往往是献出自己的鲜血生命,来成全他人的野心

    政治如此,经济如此,IT行业也是如此
    kmvan
        53
    kmvan  
       2014-11-25 12:47:31 +08:00
    以前我做过一款网页应用,稍微用了些逻辑来加密了各种变量,后来连自己也解不开了
    ven
        54
    ven  
       2014-11-25 13:00:51 +08:00
    如果代码只能自己知道怎么改,升职也会成问题,可能永远只能在那个位置,因为只有你能改~
    AlanZhang
        55
    AlanZhang  
       2014-11-25 13:02:30 +08:00
    这个你要看情况了,如果你的领导是真正懂技术的,有好处,如果不懂技术,或者技术风格喜欢面条,那你就吃亏了。当年我就吃过这样的亏,不过现在俺成领导了,谁再把代码写的难懂/面条,扣分。
    xiamingchong
        56
    xiamingchong  
       2014-11-25 13:33:37 +08:00
    代码是写给人看的, 顺便能在计算机上运行
    Mutoo
        57
    Mutoo  
       2014-11-25 13:39:34 +08:00
    从CMMI的角度来看,简单是好的。CMMI里最低级的:个人能力决定项目成败,整个项目是不可控的。

    http://zh.wikipedia.org/wiki/%E8%83%BD%E5%8A%9B%E6%88%90%E7%86%9F%E5%BA%A6%E6%A8%A1%E5%9E%8B%E9%9B%86%E6%88%90
    NICE
        58
    NICE  
       2014-11-25 13:40:37 +08:00
    不可替代的才有价值
    jamiesun
        59
    jamiesun  
       2014-11-25 14:06:34 +08:00   ❤️ 1
    @nomemo 眼光放长远一点,你若是有能力的人,走到哪里都有饭吃,该担心没有饭吃的是那些跟随者,你应该从多维度提升自己的专业能力,提升自己的综合实力,单技能是很难形成核心竞争力的。

    代码仅仅是软件系统中的一部分而已,还有宏观的架构能力,还有沟通协作,以及写好软件文档都是能力,眼光向前看,不用管这些小心眼。


    罗辑思维最近有一期《成大事者不纠结》,强烈建议看一看,讲的是曾国藩的事,很有启发。
    nomemo
        60
    nomemo  
    OP
       2014-11-25 14:09:41 +08:00
    @jamiesun 罗胖同好,最近一个月都在赶项目没看,谢谢提醒~
    xwsoul
        61
    xwsoul  
       2014-11-25 14:12:14 +08:00
    该怎样就怎样吧, 用自己舒服的方式来, 如果良币被劣币驱逐, 说名环境是有问题的.
    另外, 自己写的代码不是自己负责么?
    wanjun
        62
    wanjun  
       2014-11-25 14:12:32 +08:00
    首先要对业务逻辑理解透彻
    meta
        63
    meta  
       2014-11-25 14:20:42 +08:00
    这个完全是两回事吧,如果反复在写同一个东西,当然容易被取代,不管写得多复杂都会被取代。如果不停的开发新项目,不停的进步,那么怎么会被取代呢。就算你的同事具备修改你代码的能力又怎么样,他能像你那样创造新的东西吗。IT又不是传统行业,不可能弄一个东西出来守着就可以吃一辈子。
    21grams
        64
    21grams  
       2014-11-25 14:34:35 +08:00
    这不是好不好的问题,而是你有没有这个能力的问题,不是随便什么人都能把代码写的简单易懂的。
    devon
        65
    devon  
       2014-11-25 14:40:58 +08:00
    当然要简单易懂啊,等别人来接手你的事情,你又可以往更高一层次去发展啊。难不成你想一直消耗在一个项目里啊。要知道,写出简单易懂可维护的代码就是高水平的体现。
    madao
        66
    madao  
       2014-11-25 14:47:19 +08:00   ❤️ 1
    能担心会被人取代,真心单纯是太弱太弱太弱。
    Mak
        67
    Mak  
       2014-11-25 14:50:17 +08:00
    快让他们取代你,然后你来我们这里吧。
    ryd994
        68
    ryd994  
       2014-11-25 15:30:40 +08:00 via Android
    楼上大家说的对,如果你的领导是这种傻B领导,不跟也罢
    ivenvd
        69
    ivenvd  
       2014-11-25 15:32:13 +08:00   ❤️ 1
    就我目前看来,代码结构越好,别人越看不懂……
    PrideChung
        70
    PrideChung  
       2014-11-25 15:45:23 +08:00
    @ivenvd Sadly true...
    levn
        71
    levn  
       2014-11-25 16:16:58 +08:00
    你可以写lisp啊
    tojoevan
        72
    tojoevan  
       2014-11-25 16:31:27 +08:00
    用发展的眼光看,对自己也是写优雅的代码比较好呀
    feuvan
        73
    feuvan  
       2014-11-25 16:34:25 +08:00
    提高自己,好过与人为壑
    lygmqkl
        74
    lygmqkl  
       2014-11-25 17:02:18 +08:00   ❤️ 2
    能把代码写的简单的程序员是团队的宝贝啊。。。。真心的。。。遇到那种写完的代码只有自己能改的程序员,也是罪啊。

    吐槽完了,跟楼主聊2句,其实可以反过来想,如果你的代码别人看不了,那么会有一种情况,别人接手你的代码就会出现很多complain,那么你的这份工作估计也会止步于这个项目。。。

    正确的逻辑应该是
    1. 学会写代码
    2. 熟悉写代码
    3. 看透复杂逻辑,代码越来越简单
    4. 逻辑对你没有任何问题,开始考虑架构方面的东西,及整体实现及优化
    5. promotion or find a better team, of cause better salary.

    good luck.
    loryyang
        75
    loryyang  
       2014-11-25 18:25:46 +08:00
    我自己写代码就是力求简洁。帮同事review代码的时候,都会提评论,让他把代码写的更简单易懂,甚至变量、函数的命名也要直白易懂。我是一直这么坚持的。

    不过我也挺理解lz,有时候也会有这种想法。现在想想,如果怕自己被替代,那就努力学习,让自己无法替代呗。靠把代码写恶心总归不是正道。。
    zhc
        76
    zhc  
       2014-11-25 18:35:00 +08:00
    遇到这种情况,做正面正能量的选择.绝对不会错的.
    zachgenius
        77
    zachgenius  
       2014-11-25 18:58:08 +08:00
    @boom11235 25楼, 这个回复真棒
    gzb1985
        78
    gzb1985  
       2014-11-25 19:24:57 +08:00
    把代码写简单是相当难的,需要不断修炼内功,楼主在思考和践行这件事,已经超越你的很多同事了
    楼主把视角放大一点,就不会在意被取代或者吃不饱饭。因为随着功力的提升,路会越走越宽
    michaelye1988
        79
    michaelye1988  
       2014-11-25 20:16:13 +08:00   ❤️ 1
    我比较有代码洁癖,我的代码相对规范,比较容易让人看懂。我觉得这是一个程序员的基本素养。想起在上一家公司的时候,我的主管,说是在百度腾讯待过,代码写的非常乱,我们跟他说这个不好维护,他说他就喜欢把代码写得让别人看不懂。神经病,后来被开除了。
    crossmaya
        80
    crossmaya  
       2014-11-25 21:23:23 +08:00
    我觉得主要还是靠质量,千遍一律的代码不管多么好看总会被别人取代的,继续挖坑吧,往深了挖,那个时候写出的代码不管复杂还是简洁,一般的程序员都是看不懂的。。。
    nooper
        81
    nooper  
       2014-11-25 21:55:23 +08:00
    推荐一本书, clean code.
    nooper
        82
    nooper  
       2014-11-25 21:56:01 +08:00
    @michaelye1988 中国的公司只是注重技术,并不懂技术。
    TingHaiJamiE
        83
    TingHaiJamiE  
       2014-11-25 22:32:01 +08:00
    我到公司的第一个工作就是接手同事写完的系统,开发后续功能。
    同事写的比较清楚,无论是修改还是扩充都很方便,现在同事调去做更有意思的产品了。
    不太理解,既然自己做得好,为什么会被淘汰和取代?
    loading
        84
    loading  
       2014-11-25 22:35:34 +08:00 via Android
    别傻了,你的代码写得不易懂,必须马上把你炒了。
    编程是个体力活,大不了找人重新写,流程什么的公司都有了,就当是重构!
    代码难懂就说明你能力差,必须炒掉。

    例如:twitter谁不轻松写出来,在跑的代码,价值不是代码本身,而是里面的流程,在用户的角度看到的一切,腾讯抄袭是不需要代码的,只要知道表现形式和流程就行。


    你自己问下自己,你写个其他的项目,不就是个提力活吗?比你牛的多得很强,大不了重新写。



    故意写得难懂,是在说‘我没心思干了,代码能跑就行了!’,谁知道你是绞尽脑汁故意写的还是这就是没优化的代码!
    Dzinlife
        85
    Dzinlife  
       2014-11-25 23:04:41 +08:00
    代码是给人看的。
    有这种想法,说明你没有核心竞争力。
    wilsonxyz
        86
    wilsonxyz  
       2014-11-25 23:15:20 +08:00
    这是作为高级程序员最基本的事。
    ant_sz
        87
    ant_sz  
       2014-11-25 23:15:40 +08:00
    把代码写的清楚应该比写的复杂更困难吧。。。
    sgissb1
        88
    sgissb1  
       2014-11-25 23:36:32 +08:00   ❤️ 1
    好的领导,远离不可替代的人,亲近可替代的人。
    好的码农,写人类能看懂的代码。不好的码农,写除了他以外,或者两他自己都看不懂的代码。

    而现实是,绝大多数领导都是不好的,原因是当他们还在基层或码农时代时;他们并不是好的码农,而正因为做了不好的码农就不知道他该需要什么样的人了。

    现实中,绝大多数码农都是不好的。并不是他们水平如何,更多处于“心态”,毕竟“护食”都是人的本性,同时也有部分码农是由于工作压力使得没有精力去顾这么多的问题。


    目前我就说会所我自己的经历,我觉得我所遇到差的码农,比较多的还是“护食”和“压力”、少部分是真的由于水平差引起的。
    把代码写好,我觉得关键是有个度。60分还是80分?前往不要想着做100分,因为你做到100分的时候,你也可以滚了。滚的理由很复杂。
    nomemo
        89
    nomemo  
    OP
       2014-11-26 00:14:28 +08:00
    @sgissb1 你的答案很细致也很符合我和想法,感谢一下

    @loading 也不是每个公司都这样,这个问题也不是针对某一个情况而说,而是对目前的一个现状的感慨
    min
        90
    min  
       2014-11-26 01:39:19 +08:00
    人应该有追求
    为了看不见摸不着的安全感,天天在烂代码里面打滚是一种追求
    写得简洁漂亮易于维护和扩展又是另外一种追求

    至于故意写得烂,从老板的角度,除非技术水平渣渣,不然这点小心思还会看不出来?
    lzdhlsc
        91
    lzdhlsc  
       2014-11-26 05:28:10 +08:00
    你们都不code review的吗?
    winnie2012
        92
    winnie2012  
       2014-11-26 08:26:28 +08:00   ❤️ 1
    有点本末倒置:
    劣币驱逐优币,说明环境不行,该换环境了。
    稳定饭碗而混,那你也变劣币,该换头脑了。
    Loop680
        93
    Loop680  
       2014-11-26 08:38:33 +08:00
    @tini8 开源怎么说?
    jianghu52
        94
    jianghu52  
       2014-11-26 08:42:00 +08:00
    我觉得有时候敲代码就像做菜
    如果你只是要保证能吃,那么把做菜精准的分成几十步,每一步都有精准的标准,比如多长的菜切多少刀,油下锅多少秒放菜这样的,那么可能真的,教会徒弟饿死师傅。这是必然的。一来是因为徒弟比师傅便宜,二来,这个餐馆买能吃的菜就会赚钱,不会卖那种珍馐美味。三来,师傅已经不会其他的了。
    可是你要是把做菜当成艺术,每一次做菜都是一种对食物的升华,每一刀都是为了最完美的体现食物的线条,火候的掌握是为了切合食物的本性,调味是为了更好呈现食物的味道。这个时候,你每一次重复,都是一次升华,一次进步。这个时候,你还会觉得教会徒弟,饿死师傅?
    tini8
        95
    tini8  
       2014-11-26 08:43:12 +08:00
    @Loop680 开源开发者混的很惨
    Loop680
        96
    Loop680  
       2014-11-26 09:00:43 +08:00
    突然想到了一个类比,写代码/程序开发与做硬件/工业设计
    sony,任地狱,乃至苹果等各大手机厂商,做硬件产品的时候无一不是将确定的设计方案拆开了分成若干年来升级发布,什么PSP/PSP1000/PSP2000/PSP3000/PSP GO/PSV,什么GB/GBC/GBP/GBA/GBASP/GBM/NDS/NDSL/NDSLL/3DS/NEW3DS,还有现在的Iphone12345678s。
    为什么这么专业的公司,不一次性把产品做到极致?为什么开这么多产品线和更新线?
    他们的职业道德哪儿去了?
    大家都是为了利益,为了赚钱,为啥这些公司就可以不要更新圈钱,程序猿就要毕其功于一役?
    不太懂,请指教。
    mengzhuo
        97
    mengzhuo  
       2014-11-26 09:19:11 +08:00
    @Loop680

    类比不正确,硬件的限制更加多,

    比如苹果想上蓝宝石,工艺决定了上不了,换家工厂试试?
    比如特斯拉想做好电池,不好意思,锂的物理特性决定了现在的能量几乎是极限了,换种元素试试?

    相比之下,软件改起来容易多了

    程序员就应该能在实战中提升自己,赚点技能点,运气好、开窍了可以点开技能树。
    技能树够高了,人品也没啥问题,难道还怕找不到好工作?

    我真替那些写垃圾代码、替写垃圾代码辩护的人感到悲哀。

    最后放Linus大神的话:
    Talk is cheap, show me the code.
    Loop680
        98
    Loop680  
       2014-11-26 09:29:27 +08:00   ❤️ 1
    @mengzhuo 我知道工艺问题是随着其他制约条件而逐步进化的,但是我想说的是,我曾经看过的很多新品发布拆机测评报告,比如PSP或者NDS这种游戏掌机,文章里经常会指出内部结构电路设计等细节上明显留下了可进化可改进的空间。这就与工艺无关,纯粹是工艺设计上为下一代产品更新做的保留,也就是说明明可以把厚度做到14mm,但是他先做到18mm,然后明年出个新的模具,就能叫NDSlite,这不就和程序猿写代码时留下优化空间一样的么。
    PrideChung
        99
    PrideChung  
       2014-11-26 09:29:56 +08:00
    @Loop680 客观条件做不到跟主观意愿不想做完全是两码事
    jedihy
        100
    jedihy  
       2014-11-26 09:52:27 +08:00
    乱搞不怕领导撸死你?
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3204 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.