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

go,rust 有开发规范吗?

  •  1
     
  •   evi1j · 2021-08-26 17:38:36 +08:00 · 4662 次点击
    这是一个创建于 1218 天前的主题,其中的信息可能已经有所发展或是发生改变。

    1 ) v2er 现在有用 go,rust 做主力开发的哇,想问下 go,rust 需不需要遵守某种规约,类似 ali 的开发规约什么的,还有设计模式? 这个问题也问过其他技术社区,大神们反馈是:看团队;如果业务场景用不到,还是一把梭。

    2 )是不是一个语言在做软件开发时有相对公认的开发规范(规约)的时候,这个语言在业界发展会更加好哇?

    26 条回复    2021-08-29 12:56:12 +08:00
    Mitt
        1
    Mitt  
       2021-08-26 17:42:16 +08:00
    go 本身语言就是强约束,rust 应该也差不多,其他的就是什么命名啊 怎么拆分啊之类的约定,这种自己定好就行
    hwdef
        2
    hwdef  
       2021-08-26 17:44:21 +08:00   ❤️ 1
    Leviathann
        3
    Leviathann  
       2021-08-26 17:51:36 +08:00
    感觉 rust 光是允不允许 unsafe 就能辩很久了
    pinylin
        4
    pinylin  
       2021-08-26 18:06:34 +08:00
    rust 有 clippy 就够了
    CEBBCAT
        5
    CEBBCAT  
       2021-08-26 18:20:06 +08:00
    # Go
    没有听说过。Uber 确实是有一个 Guideline,不过更像是一个 Go Program 101,而不是形成共识的实现规约,但确实值得一看。Go 这这边我觉得主要是官方的存在感比较强,大家的风格还是喜欢向官方靠拢的
    sdrzlyz
        6
    sdrzlyz  
       2021-08-26 19:21:16 +08:00
    @CEBBCAT 仁者见仁吧。。。不太能接受 userID 这种。。。userId 看着更舒服。。。
    aloxaf
        7
    aloxaf  
       2021-08-26 19:24:17 +08:00   ❤️ 1
    Go 不了解,Rust 你大概想要这个?: https://rust-unofficial.github.io/patterns/
    evi1j
        8
    evi1j  
    OP
       2021-08-26 19:39:54 +08:00 via Android
    嗯,我是觉得还是需要有一套规范的,毕竟需要对整个项目的生命周期负责
    Kilerd
        9
    Kilerd  
       2021-08-26 19:49:24 +08:00
    rust 能写出来就很好了,然后再让 clippy 检查一下就好了(
    bestwaytowait
        10
    bestwaytowait  
       2021-08-26 19:54:07 +08:00
    rust 应该是 rustfmt 和 clippy 一起用用?
    zgayjjf
        11
    zgayjjf  
       2021-08-26 20:10:11 +08:00
    @Kilerd 笑死了,真实
    leafre
        12
    leafre  
       2021-08-26 20:11:34 +08:00
    规范都是共通的,参考阿里也一样
    Yoock
        13
    Yoock  
       2021-08-26 20:17:53 +08:00
    go 的话,引入 golangci-lint 会好很多
    icyalala
        14
    icyalala  
       2021-08-26 23:41:42 +08:00
    @sdrzlyz user ID 这个 ID 的确大写,就像 macOS 那样。但是我有时也很犹豫,因为和其他驼峰命名看着不一致。。
    binbinyouliiii
        15
    binbinyouliiii  
       2021-08-27 00:23:00 +08:00   ❤️ 3
    Rust 编译器:你写个不规范的试试
    2kCS5c0b0ITXE5k2
        16
    2kCS5c0b0ITXE5k2  
       2021-08-27 00:23:51 +08:00
    userID -> uid
    danc
        17
    danc  
       2021-08-27 00:54:11 +08:00
    啥? Rust 一开始你能编译过去就不错了,编译器本身把你限制死了的。
    maxat20xx
        18
    maxat20xx  
       2021-08-27 08:50:25 +08:00 via Android
    Rust 这段…真是真实
    CatCode
        19
    CatCode  
       2021-08-27 09:16:01 +08:00
    @Leviathann 其实本质不是允不允许 unsafe,而是 unsafe 应该改名叫做 please_trust_me (大雾
    NoDocCat
        20
    NoDocCat  
       2021-08-27 09:36:54 +08:00
    @CatCode 难道不是 please_hit_me 吗?
    MinQ
        21
    MinQ  
       2021-08-27 10:09:03 +08:00
    rust 编译器:老子就是规范
    fds
        22
    fds  
       2021-08-27 10:35:24 +08:00
    Go 有个 https://github.com/Tencent/secguide/blob/main/Go%E5%AE%89%E5%85%A8%E6%8C%87%E5%8D%97.md
    不过大体上语言本身就限制很多了,连格式都要求了……
    lasuar
        23
    lasuar  
       2021-08-27 11:28:00 +08:00
    go vet
    CodeCodeStudy
        24
    CodeCodeStudy  
       2021-08-27 12:06:58 +08:00
    @icyalala userID 这种写法转成下划线的话没那么好转,像 ID,HTTP,URL 这些缩写都可以把它作为一个单词来看待,小写驼峰,除了第一个外,每个单词的首字母大写,如果是 userID 的话,就显得 I 是一个单词,D 是一个单词,而且打字也不好打
    c88155745
        25
    c88155745  
       2021-08-27 13:59:07 +08:00
    nino789pzw
        26
    nino789pzw  
       2021-08-29 12:56:12 +08:00
    我司主力是 rust 貌似没用规范和 lint
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1646 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:00 · PVG 08:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.