感觉自己是不是有什么精神洁癖 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TrafalgarLwa
V2EX    职场话题

感觉自己是不是有什么精神洁癖

  •  
  •   TrafalgarLwa 23 天前 2587 次点击

    背景:某里员工合伙创办的 AI 初创司

    最近被安排起了一个新项目,全栈开发,个人比较喜欢用主流框架,就选择了 react-router v7 + tailwind 写前端页面,还挺有成就感的,使用 ssr 模式渲染,体验不错,loader 函数加载数据,action 执行提交,我有在非常用心的写,各种文件结构以及代码规范 eslint 什么的都配置好了,用该框架的最佳实践写前端。

    本来一切都还好,但是最近另外一个同事也算是上级介入开发新需求,用着老一套的 ant design + react 各种 useEffect 满天飞的方式写,然后因为跨域客户端不能发送请求,就得在 loader 函数即服务端部分写获取数据逻辑,他没有写过,所以写了一段时间后,觉得开发效率低下,所以想着找时间和我讨论下该怎么用以前的那一套方式写,我看了下他分支的代码,那叫一个不忍直视,类型检查, lint 各种爆红,代码风格及其乱,像是在 AI 写的基础上二次修改,而且用 WebStorm ,和我用 vscode 配置估计都不统一。真不知道要怎么维护他的代码,一下子就感觉我脏了,被践踏蹂躏了还不能说呀咩爹。

    我看完之后心里非常别扭,哎没办法,我就是一个打工的,还说代码能跑就行,要统一框架,让大家用熟悉的方式写。md 写后端邋遢就算了,问题确实也不大,本来我们团队的人也都是全栈 java + react ,前端应该只是会写的水平,但是我实在看不下去了,一想到我一手搭建的项目要生产 shi 就跟吃了一样难受,都说前端是个人都能写,有 AI 后更是把前端贬的太低了,都是一大帮后端的傲慢与偏见,我自己虽然也是一毕业就干后端,但是我依然认为写好前端,不仅仅是代码,更胜在用户体验。

    看着公司表面上是融资了,蒸蒸日上,逐渐扩招,但我心里实在没个底,内部代码混乱成这样,真能把产品做好吗,都是为了快而快,就是为了挣钱这固然没错,但我始终没个底,也许我不该用过多的极客思维去看待,说不定哪天凉了或者好起来了都是个未知。或许我更应该适合自己一个人倒腾项目,哪怕是小而美,哪怕没有过多的利益,我只想用心写好每一行代码,享受写代码带来的乐趣,这也是我对编程领域的热爱,但是事实告诉我不能这样,可却又无可奈何,总得讨口饭。总想着先干两年攒点钱自己单干搞点小事业吧,毕竟 27 也还没结婚,家境不好,写代码是我能坚持为数不多的乐趣,各位有何看法。

    16 条回复    2025-09-17 15:54:48 +08:00
    aisk
        1
    aisk  
       23 天前
    洁癖代码下班在 GitHub 上写,屎山代码上班时间配合同事给公司写,双赢。
    Ketteiron
        2
    Ketteiron  
       23 天前   4
    我也对代码有洁癖,所以离职找了家小公司自己当老大,虽然比待遇不如上家,但是编程体验好了很多,再也不用看见一堆 as any 了。

    >内部代码混乱成这样,真能把产品做好吗?
    任何产品的初期,代码质量的影响可以说微乎其微,只有到了中后期各种问题才会暴露出来,赚快钱的都是捞一波就跑。
    当一个产品赚到钱了代码质量依然如此,那就说明到了该走人的时候了,它的生命周期已到了 destroy 阶段,网速延迟有点高的老板可能还以为自己要起飞了。

    打工人对此并没有什么好的办法,世界是由草台班子组成的,只能坚持自己的坚持。
    Reficul
        3
    Reficul  
       23 天前
    其实能的,大部分产品在出现扩展性问题之前就已经死了。后面如果不幸真成了,还可以招人来屎上雕花。
    shiji
        4
    shiji  
       23 天前 via iPhone
    我也是类似的人,而且大部分程序员多少都这样。 但是在洁癖上浪费时间,走不出来,会最终影响执行力。竞争对手都要融资了我们却还在这纠结。
    Georgedoe
        5
    Georgedoe  
       23 天前 via Android
    大部分商业项目就是这样的了,技术是不怎么重要的一环,建议采纳一楼
    craftsmanship
        6
    craftsmanship  
       23 天前 via Android
    我太能理解了 曾经自己也这样执着于手中的每一行代码 后来想开了 现在就是尽量与代码库水平保持一致 遇上好的就尽量好好写 遇上烂的能跑就行 免得吃力不讨好 给自己找不痛快
    94
        7
    94  
       23 天前
    所以在启动项目的时候就需要把各种提交钩子都做好,在一开始就把各种强制检查做好。
    但,就算做了各种强规范,该是山还是写成山,很大一部分人就只想着完成任务,把代码写出来而已。能做到没有 error 、warning 就已经是非不错的情况了
    甚至配置了有些人也会在本地把所有的 lint 和 githooks 都关掉,就是因为觉得影响到他开发了,搞那么麻烦干嘛又不是不能用。

    如果你不是 TL 单纯就只是一个大头兵,就不要纠结这个事情。代码洁癖是需要自我调整的,特别是多人协作的时候和非技术主导的公司中。
    你需要接受有很多人只是想完成工作任务,而不是在能力范围内把任务做好。除非你有能力把“不愿意改就去别的组”这句话说出给对方听。
    dcdlove
        8
    dcdlove  
       23 天前
    和你情况很相似,看到垃圾代码受不了,目前做法是,要么不看到,看到就忍不住重构了,然后强制大家用编程规范,如果你不能推动就让你的领导推动,不然很恶心的,我看到后端垃圾接口也仍不住要修改
    zy445566
        9
    zy445566  
       23 天前
    其实你也挺传统的,还自己写代码,我代码基本都让 Ai 包圆了
    TrafalgarLwa
        10
    TrafalgarLwa  
    OP
       23 天前 via iPhone
    @zy445566 我代码也是 ai 写的,我只提供思路和约束边界,写完后会检查一下,发现有问题实在写不了才自己写,还是不太放心 ai 输出一大坨,不管控的话也是依托
    TrafalgarLwa
        11
    TrafalgarLwa  
    OP
       23 天前 via iPhone
    看来大家经历都差不多,算是行业通病吧,业务代码是比较容易被轻视的一部分,都是短期快速完成,争取早日单飞,爱咋样咋样
    ttyy22007
        12
    ttyy22007  
       23 天前
    公司干得好不好,跟你们前端代码写得漂不漂亮关系不大,别太操心这个
    你实在是受不了可以做的是:找技术领导人宣导前端开发规范,定期 cr ,统一技术栈、开发工具、lint 规则、代码风格等等一切
    dumbass
        13
    dumbass  
       23 天前
    所以我一个人主导后终于一点点把狗屎代码改成我自己风格的山了
    tog
        14
    tog  
       23 天前
    “而且用 WebStorm ,和我用 vscode 配置估计都不统一”
    跟编译器没关系吧, 这种开发之前就会确认好的
    Immortal
        15
    Immortal  
       23 天前
    如果能做好模块隔离,别人写的屎不会影响自己写的部分我也能接受.
    等对方写的模块维护不下去,或者其他原因需要重构/重写了,把屎"冲掉"就可以了.
    NeverBB
        16
    NeverBB  
       23 天前
    怎么说呢,在别人眼里都是
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2699 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:06 PVG 23:06 LAX 08:06 JFK 11:06
    Do have faith in what you're doing.
    ubao 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