V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
1oNflow
V2EX  ›  程序员

什么样的代码是 maintainable 的?

  •  
  •   1oNflow · 2020-03-20 19:20:23 +08:00 · 2364 次点击
    这是一个创建于 1734 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要遵循哪些语言无关的习惯和语言特定的规范?

    16 条回复    2020-03-21 15:53:50 +08:00
    CEBBCAT
        1
    CEBBCAT  
       2020-03-20 19:36:23 +08:00 via Android
    (我个人觉得这个议题 too 大 to 讨论)
    Jirajine
        2
    Jirajine  
       2020-03-20 19:39:47 +08:00 via Android
    如何编写无法维护的代码
    https://coderlmn.github.io/frontEndCourse/unmaintainable.html

    当你知道什么样的代码是 unmaintainable,反过来就是 maintainable。
    nutting
        3
    nutting  
       2020-03-20 19:40:42 +08:00
    当然是变量,方法不要怕名字长,取得有含义,这样注释可以不用写太细,就把重要逻辑,特殊的地方写写了
    justfortest
        4
    justfortest  
       2020-03-20 19:50:31 +08:00 via Android
    没有代码
    lithiumii
        5
    lithiumii  
       2020-03-20 19:51:31 +08:00 via Android
    别的语言不一定,但特别长的 sql 肯定无法维护
    justfortest
        6
    justfortest  
       2020-03-20 19:52:41 +08:00 via Android
    没有代码最好维护,代码越简洁短小越好维护,有文档有注释的代码可维护性好
    CismonX
        7
    CismonX  
       2020-03-20 19:56:15 +08:00
    @lithiumii 深有体会,每当我负责维护离职同事写的数百行格式混乱的 ETL 时,都像吃了屎一样恶心。
    mayx
        8
    mayx  
       2020-03-20 19:57:30 +08:00 via Android
    我自己写的代码就是 unmaintainable 的
    mightofcode
        9
    mightofcode  
       2020-03-20 20:05:11 +08:00
    钱给到位
    都是 maintainable 的
    guyeu
        10
    guyeu  
       2020-03-20 20:16:32 +08:00
    能看懂的代码就是可维护的代码。
    ericls
        11
    ericls  
       2020-03-20 22:17:22 +08:00
    盈利的代码
    sicauxeon
        12
    sicauxeon  
       2020-03-21 00:20:10 +08:00
    仔细维护的注释、有意义的方法和变量名、SOLID 六大原则、单测覆盖、控制抽象层次使得代码像文章那样结构严谨层次分明。

    语言特定的话,最好 team 里大家都遵守同一份 best practice,例如阿里巴巴 Java 开发手册中那样的规约

    Bob 大叔的《代码整洁之道》和 Martin Fowler 的《重构》是非常不错的参考
    JerryCha
        13
    JerryCha  
       2020-03-21 00:28:34 +08:00
    可以针对任意的需求变更在交付日期之前保证 8*5 工作制不加班的情况下完成
    xcstream
        14
    xcstream  
       2020-03-21 00:59:00 +08:00
    新手不需要过多解释就能上手的
    levelworm
        15
    levelworm  
       2020-03-21 12:24:49 +08:00 via Android
    @CismonX 自动格式化一下
    EscYezi
        16
    EscYezi  
       2020-03-21 15:53:50 +08:00 via iPhone
    写注释 写注释 写注释,快被没有注释的代码恶心死了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1041 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:35 · PVG 06:35 · LAX 14:35 · JFK 17:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.