• 请不要在回答技术问题时复制粘贴 AI 生成的内容
3dwelcome
V2EX  ›  程序员

为什么写业务逻辑代码提不起兴趣,写自己的轮子就两眼发光?

  •  1
     
  •   3dwelcome · Mar 23, 2021 · 6043 views
    This topic created in 1907 days ago, the information mentioned may be changed or developed.

    本来吃老本,在小公司写前端业务逻辑代码,总是兴趣不大。代码写着写着,思维就发散,上网东看看,西逛逛,一天时间很容易流失。

    后来闲了一段时光,写了一小段时间的轮子后,发现又开始重拾对编程的兴趣。连番茄工作法都不需要,所谓兴趣就是最好的老师,加班都能自觉主动,完成后也很有成就感。

    感觉码农这条路要坚持走下去,有两点必不可少。

    一是自我价值的认同。(虽然老板每次都说代码好,业务向更重要,但业内人人都能写的基础逻辑脚本,人员随时可以被替代,项目随时可能被舍弃,自己完全不觉得有什么好的)

    二是代码的累积效应。不能一个项目写完了,历史代码就扔掉。(虽然这很难,在团队协作里,不可能总能随心所欲用上自己喜欢的技术,技术偏向总要有取舍。)

    27 replies    2021-03-24 20:49:52 +08:00
    zzzzzzggggggg
        1
    zzzzzzggggggg  
       Mar 23, 2021   ❤️ 1
    因为造轮子的最终受益者是你,决策者也是你;写业务逻辑是为公司写的,老板是受益者和决策者,你只是老板的笔而已。
    这两者差异巨大
    weizhen199
        2
    weizhen199  
       Mar 23, 2021   ❤️ 1
    黄脸婆和小秘咯
    Variazioni
        3
    Variazioni  
       Mar 23, 2021   ❤️ 3
    写业务的 curd 是帮别人养孩子。。造轮子是养自己孩子。。。
    BarZu
        4
    BarZu  
       Mar 23, 2021   ❤️ 3
    因为造轮子可以让你一年积累两年的工作经验,写业务只会让你十年积累一年的工作经验
    arthas2234
        5
    arthas2234  
       Mar 23, 2021
    写业务代码,很多都是重复性的东西,增删改查。。。
    造轮子是富有挑战性的东西。但是最好想想再放在项目上去,搞不好会被人骂。。。
    ppgs8903
        6
    ppgs8903  
       Mar 23, 2021
    造了升值加薪答辩有的说、你总不能在晋升的时候说自己一直 crud 没点技术创新把。
    timethinker
        7
    timethinker  
       Mar 23, 2021   ❤️ 5
    CRUD 也是有讲究的,你看,实际上就两种操作,一种是修改,一种是查询。
    简单的 CRUD 从前端到后端甚至数据库字段都完全一致,就是面向数据库编程,Service 都不需要。

    复杂一点的,把这两种操作当成两套代码来写:

    修改操作多以动词命名,会精炼出业务的实际需要的操作列表,把他们全部放在 Service 里面,每一个方法就是一个事务,或者使用门面模式封装独立的命令执行(命令模式)。

    查询操作完全取决于你的消费方需要什么样的数据,把查询的逻辑处理全部放到 Repository 里面,返回 View 或者 DTO 啥的,只专注于如何批量查询并组合成需要的数据,可以是 SQL,可以是 HTTP 请求。很多人喜欢把查询也放到 Service 中,但实际上两者的关注点是不一样的。

    读写分离以后好处是显而易见的,查询和修改都可以单独进行优化,最重要的是更加清晰可读。
    当然以上只是一种方法,从技术上来讲,写业务代码最大的难度和关键点在于需求是否足够清晰,领域知识是否完备。反之造轮子则不需要这些额外的知识,但终究来讲轮子也是服务于某一个技术点的,最终也是要服务于业务的。
    jenlors
        8
    jenlors  
       Mar 23, 2021
    同感
    3dwelcome
        9
    3dwelcome  
    OP
       Mar 23, 2021
    @qwe520liao 道理都懂,就是写 CRUD,时间一长,很难保持极大的写代码热情。
    就算有点热情,也会迅速被各种需求 /开会 /沟通成本给浇灭。只想早点写完,早点收工。代码一把梭,也不会刻意去考虑复用问题。
    而且你团队开发,一个人写的爽没用,你使劲的往里搬水,团队里总有菜鸟,木桶的最短板在给你往外漏水。修修补补查 BUG,一天又一天。
    写轮子不一样,真的可以自己怎么爽,怎么来,随心所欲写,才是兴趣冒泡的源头。
    KouShuiYu
        10
    KouShuiYu  
       Mar 23, 2021
    为什么不把业务代码封装成轮子,两不误😂
    https://github.com/ckpack
    https://www.npmjs.com/~ckpack
    tedzhou1221
        11
    tedzhou1221  
       Mar 23, 2021 via iPhone   ❤️ 1
    轮子不是建立在实际业务需求之上的吗?
    timethinker
        12
    timethinker  
       Mar 23, 2021   ❤️ 1
    @3dwelcome 这应该是国内大多数中小型公司的常态,我们都知道有些事情是对的,但是却往往被情感左右。说到底一个人都不完美,更何况一个群体了。

    所以尽管工作氛围不尽如人意,但是决定我们自身如何的还是我们自己。工作沟通上保持积极,认真做好自己的工作,专注和坚持从来都不容易,真的是需要长久的磨练的。有点鸡汤的味道了,祝你能够踏上自己所想的那条路。
    ch2
        13
    ch2  
       Mar 23, 2021
    给别人打工毕竟成果是别人的,干的再多跟自己也没关系
    abersheeran
        14
    abersheeran  
       Mar 23, 2021
    我的工作就是造轮子+趟坑。比如这几个月的工作,我在业务里完善了 index-py 这个 Python Web 框架,写了一个带自动迁移功能的 ORM,这周在学 k8s,下一步估计是把我之前写的 rpc-py 投入实际生产……
    ArJun
        15
    ArJun  
       Mar 23, 2021
    @KouShuiYu 保密协议允许这样操作吗
    zhao372716335
        16
    zhao372716335  
       Mar 23, 2021
    写自己的轮子是兴趣,可以随心所欲,还有成就感

    https://github.com/fecshop/yii2_fecshop

    我的轮子 4636+ star 了。
    kiripeng
        17
    kiripeng  
       Mar 23, 2021
    我现在就是慢慢搞点轮子,业务开发快了,就有自己的时间,搞事了
    no1xsyzy
        18
    no1xsyzy  
       Mar 23, 2021
    https://www.guokr.com/article/459401 感觉有相通之处
    > “空心人”就是这么养育出来的,一直在满足别人的期望,人生的动机很大程度上建立在“恐惧”的基础上,而不是热爱。

    Simon Sinek 提出的概念不错:你人招进来了之后,就像是养小孩。
    (只不过有点陈词滥调,一句话兜兜转转说千遍)
    Zzzz77
        19
    Zzzz77  
       Mar 23, 2021 via Android
    主要是需求可以自己定。。
    Jat001
        20
    Jat001  
       Mar 23, 2021
    @ArJun #15 我也有这问题,以前我在公司也弄过代码封装,框架本身没有业务代码,但我离职的时候也没敢把代码拷出来。从法律上讲,在工作时间或利用公司设备写的代码,所有权都归公司,要是还包含业务代码,那就不止是代码所有权的问题了。
    byaiu
        21
    byaiu  
       Mar 24, 2021 via iPhone
    @Jat001 有需要时,有了一次经验,重写还会有惊喜。

    对个人能力的提升会有很大帮助的。
    lap510200
        22
    lap510200  
       Mar 24, 2021
    写轮子自由还可以提升自己, 写业务逻辑不自由还没什么提升, 业务代码容易被其他人修改,自己的轮子自己的东西
    wanguorui123
        23
    wanguorui123  
       Mar 24, 2021
    写轮子是自由人

    写业务是工具人
    ychost
        24
    ychost  
       Mar 24, 2021
    写业务要面对屎山
    jinsongzhao
        25
    jinsongzhao  
       Mar 24, 2021
    我的想法不同, 我认为是没找到自己的大方向. 写轮子提升自己的效率, 只是小方向, 人的大方向最终都是能够做全套业务, 并且为客户提供业务经验.
    jmk92
        26
    jmk92  
       Mar 24, 2021
    搬砖没有任何的兴趣可言,当然即使有挑战,也不是自己喜欢的方面,所以提不起来精神。
    给自己做东西,你肯定做自己喜欢或者受益的东西,当然激情澎拜不眠不休了。
    3dwelcome
        27
    3dwelcome  
    OP
       Mar 24, 2021
    @jinsongzhao 你是老板吧,普通的码农大多内向,很难自己确定大方向。
    都是客户 /老板指哪里,去哪里搬砖救济,没人会和钱过不去。
    小公司的 CRUD 就是那么的无奈,只有挤到行业头部,代码才能写的稍微舒服一点。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5223 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 07:12 · PVG 15:12 · LAX 00:12 · JFK 03:12
    ♥ Do have faith in what you're doing.