觉得自己写代码太矫情,怎么办? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
smeraldo
V2EX    程序员

觉得自己写代码太矫情,怎么办?

  •  
  •   smeraldo 2019-05-31 12:04:50 +08:00 5416 次点击
    这是一个创建于 2341 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近遇到了两件事,让我浑身难受,回顾一下觉得自己是不是太矫情了?
    一个是看到 tk.mybatis.mapper 的几个 issue 蛮有意思的,想 fork 一下看看能不能解决。看了下源码感觉有些实现不是很喜欢,顿时不太想用这个 lib,但是项目中使用又很广泛,遂抑郁。
    第二个是看到公司有个新写的底层 lib 用了 fastjson,个人不是很喜欢这个库,去年也在部门内发文吐槽了它的一些问题(然而没有卵用)。我是应该提出来和同事讨论(担心说服不了别人),还是默默地使用呢(遇到坑直接甩锅,别瞎矫情这种心态)?
    现在甚至在怀疑,诸如看到类似的代码问题会浑身难受的症状是不是一种病?(还是我太年轻了?扶额

    29 条回复    2019-05-31 19:13:59 +08:00
    wugz
        1
    wugz  
       2019-05-31 12:10:04 +08:00 via iPhone
    每次回到看自己写的代码,都想死
    fairyto2
        2
    fairyto2  
       2019-05-31 12:11:01 +08:00
    面向对象封装的作用就在于此,避免让你看到难受的内部实现
    Takamine
        3
    Takamine  
       2019-05-31 12:18:29 +08:00 via Android   2
    如果不能造轮子,就安安心心用轮子先,要恰饭的。
    smeraldo
        4
    smeraldo  
    OP
       2019-05-31 12:19:00 +08:00 via Android
    @wugz 自己负责的重写就是了啊
    sikong31
        5
    sikong31  
       2019-05-31 12:21:10 +08:00
    功能正常就像随它去呗,要是自己代码写的挑不出毛病了,有余力再去弄其它的,坑一个个填慢慢填吧
    mortonnex
        6
    mortonnex  
       2019-05-31 12:24:06 +08:00   3
    我觉得还是太年轻,楼主评价这些库前先问问自己能不能有足够的能力实现它
    像我的话,会觉得别人做出了东西还开源出来免费使用,只会觉得感激不尽,而且阅读源码让我学到很多
    Mogugugugu
        7
    Mogugugugu  
       2019-05-31 12:24:25 +08:00
    当然是自己撸一个了
    Cyen
        8
    Cyen  
       2019-05-31 12:30:20 +08:00 via iPhone
    我们公司也有一个,和你情况差不多
    limuyan44
        9
    limuyan44  
       2019-05-31 12:35:11 +08:00 via Android
    光看这段话我都以为你是高斯林了
    GeruzoniAnsasu
        10
    GeruzoniAnsasu  
       2019-05-31 12:39:04 +08:00 via Android   2
    “想 fork 一下看能不能解决”


    解决了吗?
    annielong
        11
    annielong  
       2019-05-31 12:52:29 +08:00
    看那么多 tumbl 的采集都不满意,没个历史记录,每次都要重新采集,用起来很不爽,一直想写一个,结果到现在开了几次坑也没有写出来
    smeraldo
        12
    smeraldo  
    OP
       2019-05-31 12:56:36 +08:00
    @mortonnex 让我吐槽的原因是,我想增加一些功能,发现需要改动很多原来的实现,这是其一;其二是,发现 test 有点简陋,感觉有点不是 well prepared for production (当然实际使用中没遇到什么问题)
    至于感激,我觉得既然是开源项目,作为使用者,能够让项目变得更好是最大的感谢(无论是提 issue 还是贡献代码)。然而,内心不太愿意修改 legacy code 加上懒癌,再加上没有花时间去很好地了解项目,所以提不出有建设性内容的 issue......这些是让我抑郁的原因。。
    smeraldo
        13
    smeraldo  
    OP
       2019-05-31 12:57:15 +08:00
    @GeruzoniAnsasu 没有,粗糙看了下需要的改动有点多,可耻的放弃了
    smeraldo
        14
    smeraldo  
    OP
       2019-05-31 12:58:20 +08:00
    @Mogugugugu 公司内的 lib 是可以改啊,但是不知道怎么说服别人。。

    @limuyan44 高斯林是啥?
    smeraldo
        15
    smeraldo  
    OP
       2019-05-31 13:00:49 +08:00
    @annielong 所以懒癌无药可医?
    Mithrandir
        16
    Mithrandir  
       2019-05-31 13:06:31 +08:00   1
    以你的这种心态,你要是看了 gnu 的一些代码,比如 glibc,那后果不堪设想。
    niubee1
        17
    niubee1  
       2019-05-31 13:08:54 +08:00
    都是开源项目, 你难受就去提交代码,那怕你提 issuse 也比这里鸡鸡歪歪强啊
    echohw
        18
    echohw  
       2019-05-31 13:11:13 +08:00   1
    @smeraldo 詹姆斯高斯林 Java 之父
    wutiantong
        19
    wutiantong  
       2019-05-31 13:15:12 +08:00   4
    @smeraldo "内心不太愿意修改 legacy code 加上懒癌" 改不动 legacy code 通常是因为能力不足。
    WhoMercy
        20
    WhoMercy  
       2019-05-31 13:54:23 +08:00
    有点代码洁癖挺好的,但看你现在做不了决策,又很难接受,也许是因为工作时间太短了?
    面对现实吧,事物是趋于混乱的。
    软件工程通过添加更为复杂的逻辑来缓解问题,但多次迭代后新旧思想的对比还是产生新的混乱,而这个过程是持续发生的处于任何时间点都会有类似的问题因此,接受别人代码的不完美,同时约束自己,写出自己能达到的最“完美”的代码,我觉得才是正道。
    mortonnex
        21
    mortonnex  
       2019-05-31 13:55:40 +08:00
    @smeraldo 所以你有能力去改吗?楼主对自己认知是否有偏差啊,还是要谦虚低调啊
    looplj
        22
    looplj  
       2019-05-31 14:14:00 +08:00
    很正常啊,有自己的审美,别那些没有的好!
    工作中就是这样的,大部分的人都只是为了完成工作而已,什么审美,什么素养都是么有的。
    goreliu
        23
    goreliu  
       2019-05-31 14:31:48 +08:00 via Android   1
    大概是眼高手低吧。
    layoe
        24
    layoe  
       2019-05-31 16:21:00 +08:00
    FIVE 既视感
    shyangs
        25
    shyangs  
       2019-05-31 16:31:45 +08:00
    换 C++ 这个语言呀,社区风气就是每个项目都自己实现一个 String 来替代 std::string

    ::doge::
    piglei
        26
    piglei  
       2019-05-31 16:43:22 +08:00
    如果我跟你说,宇宙的熵值每时每刻都在增加,所有事物都在不断变得混乱无序。你会不会晚上焦虑的睡不着觉?

    开个玩笑,就我从楼主帖子读到的信息来看,是有点矫情了。对代码认真,纠结的态度是对的,但是你纠结的两件事情都太小了。。。都是公司在稳定使用的库,何必在意太多?不如多关注自己每天修改、接触的那些代码有多大提升空间吧。
    pmispig
        27
    pmispig  
       2019-05-31 16:46:05 +08:00
    不服就自己造一个,其他没办法
    glfpes
        28
    glfpes  
       2019-05-31 17:58:41 +08:00
    抱怨是没有卵用的。 你可以整个重构的方案给 boss review 一下,但在之前需要和他确定到底有没有重构的必要性,毕竟重构 emmmm。。。不能算 kpi

    至于 fastjson,我们这边统一用 gon,我本人也不喜欢 fastjson
    CEBBCAT
        29
    CEBBCAT  
       2019-05-31 19:13:59 +08:00
    归因在畸形的社交方式吧

    我想你需要更加主动地说,比如第一个,不喜欢一个库也能有这么多心理活动,还能走向抑郁,也是有点厉害的了;第二个不喜欢 fastjson:不喜欢就要说,会给项目带来什么隐患。

    翻译成容易理解的话就是,不够开朗吧。在我看来需要跑跑步,练练块这样的,说话真的很有底气……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5407 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 01:16 PVG 09:16 LAX 18:16 JFK 21:16
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86