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

通过实现‘异常代码统一管理’引发的思考:“规范应该落实于口头约束还是尽量从代码上限制住”

  •  
  •   imdong ·
    imdong · 2020-11-24 10:45:12 +08:00 · 2161 次点击
    这是一个创建于 1496 天前的主题,其中的信息可能已经有所发展或是发生改变。

    二者主要区别:

    • 口头约束:重点是人的管理,给与要求又同时拥有自由。
    • 代码约束:认为人是不可控的,力求从根源上避免人犯错误的可能。

    但后者要求对各种名义上的规范都要实现对应的规则来约束人,前期短时间内成本较高。

    14 条回复    2020-11-24 15:46:05 +08:00
    twoconk
        1
    twoconk  
       2020-11-24 11:47:13 +08:00   ❤️ 1
    不用讨论,代码约束
    TanMusong
        2
    TanMusong  
       2020-11-24 11:58:52 +08:00
    口头约束吧,感觉代码设计规范按需求来,但如果代码约束,好像工程里就混入了点儿工作相关的实现
    optional
        3
    optional  
       2020-11-24 12:00:02 +08:00 via iPhone
    没有 cr ?
    chendy
        4
    chendy  
       2020-11-24 12:13:51 +08:00   ❤️ 1
    口头约束 等于 没有约束 约等于 徒增烦恼
    kingme
        5
    kingme  
       2020-11-24 14:09:40 +08:00   ❤️ 2
    几年带新人,感受就是:不是所有人都像你一样喜欢写代码,绝大部分人只是混口饭吃
    所以:代码约束,压根不用讨论
    debuggerx
        6
    debuggerx  
       2020-11-24 14:26:02 +08:00
    代码约束 +10086
    口头沟通的成本总是最高的
    xuanbg
        7
    xuanbg  
       2020-11-24 14:58:02 +08:00   ❤️ 1
    这个还要讨论?代码规范毕竟只是一个指导手册,你不能指望所有人都能百分百按照规范来。所以只能是代码约束,不符合就不给过。
    boris93
        8
    boris93  
       2020-11-24 15:04:46 +08:00 via Android
    代码+工具,辅以 code review

    先给 git 做个 pre-commit hook,加个自动格式化工具,保证代码格式基本统一
    然后上代码质量检查工具,比如 SonarQube
    最后从分支合到主干必须通过 PR,禁止直接往 master 提交,PR 必须有人 review 且 approve 后才能合并

    我感觉这件事很难通过纯机器的方式去完成,其中必定要有人的干预。那么有人的干预,就要防止整个流程变成形式主义。
    hdbzsgm
        9
    hdbzsgm  
       2020-11-24 15:17:01 +08:00
    严格 code review 是保持项目代码整洁的唯一方案
    Jooooooooo
        10
    Jooooooooo  
       2020-11-24 15:26:09 +08:00
    能不依赖人的约束都是更好的

    (但是也要看成本
    TanMusong
        11
    TanMusong  
       2020-11-24 15:32:58 +08:00
    有具体场景么,我没太理解为啥要代码约束
    我属实是没能脑补出出这个这个问题的场景,请教下各位具体这个问题的应用场景,我好积累经验,感谢
    tobepro
        12
    tobepro  
       2020-11-24 15:34:19 +08:00
    代码约束自然好,但是同时导致的开发上线效率降低也是很多团队受不了的,慢慢的代码约束就都被停了
    bk201
        13
    bk201  
       2020-11-24 15:35:47 +08:00
    越脱离人越靠谱
    yhxx
        14
    yhxx  
       2020-11-24 15:46:05 +08:00
    看你的团队
    比如我的项目之前就是口头约束的,毕竟各种 lint 很耗时间
    但是最近有新来的同学不管你怎么说就是不改,那就只能强制工具解决了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3134 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:44 · PVG 08:44 · LAX 16:44 · JFK 19:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.