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

怎么避免自己写的代码变成屎山?

  •  
  •   qinrui · 2022-11-28 10:11:01 +08:00 · 10589 次点击
    这是一个创建于 486 天前的主题,其中的信息可能已经有所发展或是发生改变。
    118 条回复    2022-11-30 10:30:32 +08:00
    1  2  
    hoopan
        101
    hoopan  
       2022-11-29 09:21:30 +08:00
    避免不了的事情,就学会适应。只要能正常跑起来,管它是不是屎山。
    baixixi
        102
    baixixi  
       2022-11-29 09:41:08 +08:00
    初期好好设计,
    然后永远没有新需求
    (保持微笑)
    Promtheus
        103
    Promtheus  
       2022-11-29 09:53:04 +08:00
    框架性质或者中间件性质的代码还有可能。但是业务性质的代码就算了。基本不可能避免成为屎山
    lidegao899
        104
    lidegao899  
       2022-11-29 09:58:53 +08:00
    他人即屎山
    xx6412223
        105
    xx6412223  
       2022-11-29 10:08:22 +08:00
    不加 lint 和 测试覆盖率的都很快会变成屎山
    加了也会,就是慢一些
    lakehylia
        106
    lakehylia  
       2022-11-29 10:15:15 +08:00
    除非像某某软件基金会一样,以技术为导向,每时每刻 review ,否则不可避免。
    SSang
        107
    SSang  
       2022-11-29 10:21:23 +08:00
    重构
    (你的领导给时间的话)
    Twan
        108
    Twan  
       2022-11-29 10:22:26 +08:00
    项目万有定论,只针对中型以下企业:
    代码越好看 越整洁 上线不赚钱, 代码越破烂, 看得人头大 越赚钱.
    wangtian2020
        109
    wangtian2020  
       2022-11-29 10:23:00 +08:00
    内存最优写法 X
    性能最优写法 X
    维护性最好写法 X
    下班最快的写法 √
    tt67wq
        110
    tt67wq  
       2022-11-29 10:26:54 +08:00
    避免不了
    likang8210
        111
    likang8210  
       2022-11-29 10:29:55 +08:00
    @yxzblue 哈哈写的有意思
    aozhou
        112
    aozhou  
       2022-11-29 10:31:52 +08:00
    @vevlins 那不得一直跳槽么
    chinfeng
        113
    chinfeng  
       2022-11-29 14:56:07 +08:00
    这个做不到!

    作为一个勤恳的程序员,我们能做到的是让别人堆屎山,然后把我自己写的屎山隐藏在别人的海量屎山之中,这样我就不会被人看扁了。
    GiantHard
        114
    GiantHard  
       2022-11-29 15:07:25 +08:00
    1. 几乎所有的程序,都可以从订作适合自己所需的语言中受益。然而越复杂的程序,由下而上的程序设计就显得越有价值。一个由下而上所设计出来的程序,可写成一系列的层,每层担任上一层的程序语言。…… 由下而上的编程方法,也是得到可重用软件的最好方法。写可重用软件的本质是把共同的地方从细节中分离出来,而由下而上的编程方法本质地创造这种分离。与其努力撰写一个庞大的应用,不如努力创造一个语言,用相对小的努力在这语言上撰写你的应用。和应用相关的特性集中在最上层,以下的层可以组成一个适合这种应用的语言 ── 还有什么比程序语言更具可重用性的呢? —— [ANSI Common Lisp 中文版]( https://acl.readthedocs.io/en/latest/zhCN/ch1-cn.html#new-techniques)

    2. 先写测试,再写代码。 —— [测试驱动开发]( https://zh.wikipedia.org/wiki/%E6%B5%8B%E8%AF%95%E9%A9%B1%E5%8A%A8%E5%BC%80%E5%8F%91)
    zhang77555
        115
    zhang77555  
       2022-11-29 15:14:47 +08:00
    和业务相关的代码无法避免, 因为你不可能预测准确业务未来的发展, 所以必然会出现破坏性的改动, 而从商业角度来说,不可能也不应该有大量时间用于重构, 长期的重构和推倒直接 2.0 重来到底谁更便宜还真不好说

    真想避免垃圾代码就得从事产出与代码质量正相关程度高的工作, 比如基础底层研发, 高质量框架开发之类的,但是这种工作并不多
    wakaka
        116
    wakaka  
       2022-11-29 15:28:52 +08:00
    首先承认自己的代码写的很烂
    ashtwo
        117
    ashtwo  
       2022-11-29 15:32:15 +08:00
    @akakidz 深有体会
    Akiya
        118
    Akiya  
       2022-11-30 10:30:32 +08:00
    在代码变成屎山之前换一个项目
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5517 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 07:57 · PVG 15:57 · LAX 00:57 · JFK 03:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.