1 ) v2er 现在有用 go,rust 做主力开发的哇,想问下 go,rust 需不需要遵守某种规约,类似 ali 的开发规约什么的,还有设计模式? 这个问题也问过其他技术社区,大神们反馈是:看团队;如果业务场景用不到,还是一把梭。
2 )是不是一个语言在做软件开发时有相对公认的开发规范(规约)的时候,这个语言在业界发展会更加好哇?
1
Mitt 2021-08-26 17:42:16 +08:00
go 本身语言就是强约束,rust 应该也差不多,其他的就是什么命名啊 怎么拆分啊之类的约定,这种自己定好就行
|
2
hwdef 2021-08-26 17:44:21 +08:00 1
|
3
Leviathann 2021-08-26 17:51:36 +08:00
感觉 rust 光是允不允许 unsafe 就能辩很久了
|
4
pinylin 2021-08-26 18:06:34 +08:00
rust 有 clippy 就够了
|
5
CEBBCAT 2021-08-26 18:20:06 +08:00
# Go
没有听说过。Uber 确实是有一个 Guideline,不过更像是一个 Go Program 101,而不是形成共识的实现规约,但确实值得一看。Go 这这边我觉得主要是官方的存在感比较强,大家的风格还是喜欢向官方靠拢的 |
7
aloxaf 2021-08-26 19:24:17 +08:00 1
Go 不了解,Rust 你大概想要这个?: https://rust-unofficial.github.io/patterns/
|
8
evi1j OP 嗯,我是觉得还是需要有一套规范的,毕竟需要对整个项目的生命周期负责
|
9
Kilerd 2021-08-26 19:49:24 +08:00
rust 能写出来就很好了,然后再让 clippy 检查一下就好了(
|
10
bestwaytowait 2021-08-26 19:54:07 +08:00
rust 应该是 rustfmt 和 clippy 一起用用?
|
12
leafre 2021-08-26 20:11:34 +08:00
规范都是共通的,参考阿里也一样
|
13
Yoock 2021-08-26 20:17:53 +08:00
go 的话,引入 golangci-lint 会好很多
|
14
icyalala 2021-08-26 23:41:42 +08:00
@sdrzlyz user ID 这个 ID 的确大写,就像 macOS 那样。但是我有时也很犹豫,因为和其他驼峰命名看着不一致。。
|
15
binbinyouliiii 2021-08-27 00:23:00 +08:00 3
Rust 编译器:你写个不规范的试试
|
16
2kCS5c0b0ITXE5k2 2021-08-27 00:23:51 +08:00
userID -> uid
|
17
danc 2021-08-27 00:54:11 +08:00
啥? Rust 一开始你能编译过去就不错了,编译器本身把你限制死了的。
|
18
maxat20xx 2021-08-27 08:50:25 +08:00 via Android
Rust 这段…真是真实
|
19
CatCode 2021-08-27 09:16:01 +08:00
@Leviathann 其实本质不是允不允许 unsafe,而是 unsafe 应该改名叫做 please_trust_me (大雾
|
21
MinQ 2021-08-27 10:09:03 +08:00
rust 编译器:老子就是规范
|
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
不过大体上语言本身就限制很多了,连格式都要求了…… |
23
lasuar 2021-08-27 11:28:00 +08:00
go vet
|
24
CodeCodeStudy 2021-08-27 12:06:58 +08:00
@icyalala userID 这种写法转成下划线的话没那么好转,像 ID,HTTP,URL 这些缩写都可以把它作为一个单词来看待,小写驼峰,除了第一个外,每个单词的首字母大写,如果是 userID 的话,就显得 I 是一个单词,D 是一个单词,而且打字也不好打
|
25
c88155745 2021-08-27 13:59:07 +08:00
|
26
nino789pzw 2021-08-29 12:56:12 +08:00
我司主力是 rust 貌似没用规范和 lint
|