各位的编辑器公司有统一的设定要求吗?

2021-06-15 10:40:52 +08:00
 kensoz

比如换行自动触发 tab,tab 为 4 个空格,

亦或者是团队统一使用 vs code 统一 eslint 规则等等。

如果没有以上的要求,查看 git 差分或 review 代码的时候怎么解决 tab 长度不一样,eslint 规则不统一的问题?

5145 次点击
所在节点    程序员
28 条回复
shakukansp
2021-06-15 10:45:31 +08:00
prettier . --write
LokiSharp
2021-06-15 10:48:55 +08:00
CI 跑一遍 lint 不符合规则的拒绝合并
bthulu
2021-06-15 10:51:05 +08:00
没有的, 一团乱麻, 自己格式化
ericls
2021-06-15 10:53:22 +08:00
CI 的责任
nevin47
2021-06-15 11:02:33 +08:00
这种 CodingStyle 的问题都是人工规定+review+CI
ericls
2021-06-15 11:10:15 +08:00
@nevin47 不要人工干预代码 style 会浪费大量时间 。如果 review 里面出现了代码风格问题 只能说明 pre-commit 没设置好 或者 CI 美设置好
nevin47
2021-06-15 11:15:10 +08:00
@ericls #6 大部分还是要靠 CI,但是有些 CI 不是特别好设置,例如十六进制的数据,一般 CI 都会放行,需要人工判定一下是否是 magic number 的滥用,或者是本身临时使用 /特定含义数字
ericls
2021-06-15 11:20:53 +08:00
@nevin47 这种的确 我们一般会有注释去皮 disable linter. Review 的时候重点关注这种例外
Vegetable
2021-06-15 11:37:56 +08:00
前端好办啊,eslint+prettier+husky,比如这个项目

https://github.com/anncwb/vue-vben-admin

常见的语言都有解决方案,极端的 GO 直接内置了 fmt,松散的比如 java 大家一般都是用 ide 格式化,其实也有流行的 formatter,不太好用是真的。

保证在 commit 之前触发一次格式化就 ok 了。
kensoz
2021-06-15 11:42:40 +08:00
@Vegetable 感谢回复。像 java 用 ide 格式化的话,那就事前需要统一 ide 和 ide 设置吧
ericls
2021-06-15 11:44:12 +08:00
@kensoz 不同的 ide 也可以用 .editorconfig 或者在 pre-commit 的 hook 里面做 lint
Vegetable
2021-06-15 11:46:25 +08:00
@kensoz java 大家选择 idea 的概率太高,以至于五六个人的团队大家默认都选了 idea,愉快的避免了这个问题
Vegetable
2021-06-15 11:52:23 +08:00
@kensoz IDE 的格式化规则也是可以配置的,但是的的确确会出现不同 IDE 对同一套规则格式化的结果不同的情况。所以这方面对于团队 leader 活着相应负责人来说,还是有点工作量的。
lance86
2021-06-15 12:00:21 +08:00
@Vegetable 楼上提到的 同一份 .editorconfig 也会不同 ide 不同么? idea 应该自带支持的
chiu
2021-06-15 12:10:42 +08:00
目前公司范围的没有,各个 team 有各自的 < Code Style Guide >, 但没有编辑器设定统一这种程度,因为使用什么编辑器也不是统一的。
nightwitch
2021-06-15 12:23:39 +08:00
项目根目录放一个.clang-format,没有 format 就提 pull request 的 CI 会直接拒绝。
其他语言大抵也有类似的格式化工具
lrvy
2021-06-15 12:30:21 +08:00
主要用 Golang, 提交前一把梭 `go mod tidy && goimports -l -w . && gofmt -s -w . `
yolee599
2021-06-15 12:36:54 +08:00
tab 统一格式化为 4 个空格,否则拒绝提交
Rache1
2021-06-15 12:37:33 +08:00
EditorConfig
dayeye2006199
2021-06-15 12:51:03 +08:00
这个一般由 linter 和 formatter 处理。编辑器不管这事儿

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/783434

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX