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

真是被一个 N 年老程序员的代码给气死了。

  •  
  •   ilove · 2015-05-07 21:38:28 +08:00 · 6547 次点击
    这是一个创建于 3269 天前的主题,其中的信息可能已经有所发展或是发生改变。

    毫无代码规范可言,这里注释粘贴一坨,那里粘贴一坨。举个栗子吧,明明定义一个Enum用switch效率总是比定义成字符串通过equalString要高那么一点,偏不这样做。更别提什么为了用户体验为了情怀做出哪怕一丁点优化了。

    微微考虑下效率好么!在能力范围内微微优雅一点好么!!相同用途的空格空行个数能一样么!!!呜呜呜。please。

    这不是关键,这样要是没有缺陷也罢,可结果也是豆腐渣渣!然后各种求助别人,这不我刚干完擦完屁股的活。其实我也没成功,真是实在懒得浪费我的时间去梳理那么一大坨混乱代码的逻辑,直憋气。

    吐槽了这么多。可能楼主还比较年轻,还幻想着能见到神一样的代码,还有那么一点的情怀,房子、车子压力还比较小,还有那么一点激情,甚至梦想着能有改变世界的机会,梦想着至少老了可以对孙子吹牛B说我served with them, and we changed the world。

    但是人家确实有钱,有房有车。人各有志吧。

    呜呜呜,这根本不是我想要的人生啊!

    41 条回复    2015-05-11 09:22:15 +08:00
    feilaoda
        1
    feilaoda  
       2015-05-07 22:06:57 +08:00
    没有checkstyle么?
    话说把100万次的比较生生搞成了10000万次比较,你说看到这样的代码还有吐槽的力气么?
    NeoAtlantis
        2
    NeoAtlantis  
       2015-05-07 22:06:59 +08:00 via Android
    毕设的时候跟了个老教授,负责改Fortran77写的程序的代码……上千行……开头6字符必须是空格…………变量名不能超过六字符……循环只会用GOTO……传变量的时候形参几十个……

    更麻烦的是代码里面空格和tab不分所以只能用教授所谓最原汁原味正统的微软PowerStation4.0改……代码3000多行………………
    VirgilMing
        3
    VirgilMing  
       2015-05-07 22:28:44 +08:00
    @NeoAtlantis 看到 Fortran 我就已经不抱希望了。
    handleyan
        4
    handleyan  
       2015-05-07 22:38:55 +08:00   ❤️ 1
    有一句话说的好啊,都是成年人了,谁能说服得了谁?所以穷则独善其身,达则兼济天下吧。除非代码性能有问题,会导致线上故障的,其它的都归入个人风格问题,求同存异吧。太较真了,会影响工作!
    cxh116
        5
    cxh116  
       2015-05-07 22:44:56 +08:00
    碰一个写python的,第一级缩进,4个空格. 第二级缩进,7个空格.看着真心醉了
    neoblackcap
        6
    neoblackcap  
       2015-05-08 03:05:20 +08:00
    @cxh116 七个能过?
    sivacohan
        7
    sivacohan  
       2015-05-08 08:36:36 +08:00 via Android
    @neoblackcap 同一级一个缩进就能过
    mengzhuo
        8
    mengzhuo  
       2015-05-08 09:48:10 +08:00
    老程序员很多都是受当年代码风格的影响
    像我就直接按逻辑、需求重写了CTO写的东西~
    magicdawn
        9
    magicdawn  
       2015-05-08 10:27:40 +08:00
    这么说来golang 还是最好的...

    写完go fmt 一下,Editor 插件直接在save的时候就保存了
    reinhardzoe
        10
    reinhardzoe  
       2015-05-08 11:29:25 +08:00
    enum能做的用string.这脑洞是有多大...
    xylophone21
        11
    xylophone21  
       2015-05-08 12:26:27 +08:00
    明明定义一个Enum用switch效率总是比定义成字符串通过equalString要高那么一点
    -----------
    扩展性啊。再说所有的提前优化都是耍流氓,没有测试之前,你知道性能瓶颈在这几个字符串比较?
    sneezry
        12
    sneezry  
       2015-05-08 12:43:33 +08:00   ❤️ 1
    其实并不是所有写代码的人都喜欢写代码的 :-)
    ilove
        13
    ilove  
    OP
       2015-05-08 12:50:13 +08:00
    @xylophone21 我又没说这是性能瓶颈。从周一到周日你能扩展出个周八来?
    ilove
        14
    ilove  
    OP
       2015-05-08 12:51:03 +08:00
    @reinhardzoe 我就举个例子,不要在意细节啊。昨天实在是蛋疼,今天上午总算改好了。
    ilove
        15
    ilove  
    OP
       2015-05-08 12:51:54 +08:00
    @handleyan 你说的太好了。真得求同存异,花花世界何必当真。
    ilove
        16
    ilove  
    OP
       2015-05-08 12:52:52 +08:00
    @magicdawn 是啊,写Java的也有这么个好处。
    ilove
        17
    ilove  
    OP
       2015-05-08 12:53:12 +08:00
    @NeoAtlantis 也是醉了。
    ilove
        18
    ilove  
    OP
       2015-05-08 12:53:43 +08:00
    @feilaoda 有统一的规范也不强制要求的那种。只能靠道德约束。
    msg7086
        19
    msg7086  
       2015-05-08 12:56:58 +08:00
    看完了顶楼以后我就估摸着这应该是Java程序员写的……
    belin520
        20
    belin520  
       2015-05-08 13:01:34 +08:00
    我老了会不会也被年轻的程序员这样嫌弃啊。。
    fxxkgw
        21
    fxxkgw  
       2015-05-08 13:30:50 +08:00
    你们写代码时候不会就百度谷歌stackoverflow 他们那个时候写代码难度多大?
    算了吧
    stanhou
        22
    stanhou  
       2015-05-08 13:38:59 +08:00
    发泄归发泄,咱别加个“老”字好么?害得我自卑的算了算自己多大年纪……
    odirus
        23
    odirus  
       2015-05-08 13:45:09 +08:00
    等你工作更久,变成一位“老程序猿”了,你再回头思考一下此时的想法吧。
    ivanchou
        24
    ivanchou  
       2015-05-08 13:45:59 +08:00 via Android
    Too young too simple sometimes naive
    dog999
        25
    dog999  
       2015-05-08 13:50:54 +08:00
    记住人家ron也不容易能改就改,不能改就走人.
    learnshare
        26
    learnshare  
       2015-05-08 13:58:36 +08:00
    后来者水平高,说明社会在进步。
    nuc093
        27
    nuc093  
       2015-05-08 15:37:57 +08:00
    这种标题的文章应该可以屏蔽了!
    dryyun
        28
    dryyun  
       2015-05-08 15:38:48 +08:00
    见的多了,见怪不怪。你写的就一定好了?等你老了,在考虑一下把
    lsmgeb89
        29
    lsmgeb89  
       2015-05-08 15:47:12 +08:00
    所以团队应该有一份由团队成员共同商议的 styling rules,在每次 check in 之前服务器调用工具自动检查,有违反 rule 的 code,则不允许提交。
    thinker3
        30
    thinker3  
       2015-05-08 16:24:45 +08:00
    少年,世界是如此糟糕,所以才需要你这样的人去改变世界。
    ilove
        31
    ilove  
    OP
       2015-05-08 16:33:38 +08:00
    @nuc093 是的,您发的求激活码破解码的主题是应该被屏蔽了。
    ilove
        32
    ilove  
    OP
       2015-05-08 16:35:30 +08:00
    @dryyun 就算我写的再烂,起码,我也让代码看起来舒服,缩进、注释我还是可以搞定的。
    sumhat
        33
    sumhat  
       2015-05-08 16:42:33 +08:00
    即使是你自己写的代码,过几个月回过头去看,也会发现一堆没有优化的地方,更何况是看别人的代码。在没有遇到瓶颈之前,过度优化是没有意义的。
    bigporker
        34
    bigporker  
       2015-05-08 16:50:04 +08:00
    感觉楼主是在说我
    bk201
        35
    bk201  
       2015-05-08 21:23:37 +08:00
    好像有人这么说过,身边有这样的人说明我还不够努力。(原话忘了
    顺便说一下楼主语言有点混乱,不知道代码是不是楼主所说的很清楚。
    mind3x
        36
    mind3x  
       2015-05-08 21:55:08 +08:00 via Android
    别听他们扯什么包容或者什么见怪不怪,我看你说的基本上是对事不对人。这事和工作年限无关,和程序员自身的洁癖/品味有关。虽然你无法强求别人的审美,但人往高处走,如果你身边这样的人占多数,你应该认真考虑跳槽。
    laoyuan
        37
    laoyuan  
       2015-05-09 06:24:55 +08:00
    闷声发大财!
    XcodeUser
        38
    XcodeUser  
       2015-05-09 10:36:20 +08:00
    我是来声援楼主的,代码写的差,还那么多借口,还不思进取的程序员,不论资历,都是渣!
    xylophone21
        39
    xylophone21  
       2015-05-09 18:30:46 +08:00
    @ilove

    明明定义一个Enum用switch**效率**总是比定义成字符串通过equalString要高那么一点

    既然不是性能瓶颈,拿效率说什么事呢?

    枚举和字符串在这种场景下,本来就是一个性能和扩展性的平衡问题,你看到了1没看到2,就开始说如何如何不好,想过实际上可能是你自己完全没有理解代码的深意吗?

    注意,我说的仅仅是一个可能,不排除代码真的写的很烂,但既然你要抱怨说某个老程序员代码写的烂,你就需要证明真的烂,否则大家怎么知道是不是真烂呢?
    djshell
        40
    djshell  
       2015-05-09 21:30:36 +08:00
    为什么眼晴不往好处瞧,你敢说你写的好,或者你说哪 个软件的代码写的好,真的拿得出来晒得让大家喷死,没必要。大家都是做程序的,别彼此相轻,圈子就这么大。07 08年大家才开始组织翻译PYTHON DJANGO ,PHP手册好像也是在那几年,VB 0607全是英文,呵呵 现在呢,得瑟。
    ilove
        41
    ilove  
    OP
       2015-05-11 09:22:15 +08:00
    @xylophone21 有性能问题就一定是瓶颈?你知道什么是瓶颈么?

    举个例子,45 * 8 + 55 * 8 = (45 + 55) * 8,这就是一个品味和优不优雅的问题,对事不对人罢了。

    既然你说是一个可能,就不要反驳我拿效率说事,当你达到一个高中生的水平,自然能一眼看出小学生做的算术题的问题所在。此外,用字符串为什么能达到扩展性呢,扩展什么呢??防止外星人入侵时强行改变人类文明,一个周变为八天?

    非常同意@bk201 说的,这是一个人洁癖、品味的问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1560 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:02 · PVG 01:02 · LAX 10:02 · JFK 13:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.