
比如换行自动触发 tab,tab 为 4 个空格,
亦或者是团队统一使用 vs code 统一 eslint 规则等等。
如果没有以上的要求,查看 git 差分或 review 代码的时候怎么解决 tab 长度不一样,eslint 规则不统一的问题?
     1   shakukansp      2021-06-15 10:45:31 +08:00  prettier . --write   |  
     2   LokiSharp      2021-06-15 10:48:55 +08:00 via iPhone   CI 跑一遍 lint 不符合规则的拒绝合并   |  
     3   bthulu      2021-06-15 10:51:05 +08:00  没有的, 一团乱麻, 自己格式化   |  
     4   ericls      2021-06-15 10:53:22 +08:00 via iPhone  CI 的责任   |  
     5   nevin47      2021-06-15 11:02:33 +08:00  这种 CodingStyle 的问题都是人工规定+review+CI   |  
     6   ericls      2021-06-15 11:10:15 +08:00 via iPhone  @nevin47 不要人工干预代码 style 会浪费大量时间 。如果 review 里面出现了代码风格问题 只能说明 pre-commit 没设置好 或者 CI 美设置好   |  
     7  @ericls #6 大部分还是要靠 CI,但是有些 CI 不是特别好设置,例如十六进制的数据,一般 CI 都会放行,需要人工判定一下是否是 magic number 的滥用,或者是本身临时使用 /特定含义数字   |  
     8   ericls      2021-06-15 11:20:53 +08:00 via iPhone  @nevin47 这种的确 我们一般会有注释去皮 disable linter. Review 的时候重点关注这种例外   |  
     9   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 了。  |  
     11   ericls      2021-06-15 11:44:12 +08:00 via iPhone   @kensoz 不同的 ide 也可以用 .editorconfig 或者在 pre-commit 的 hook 里面做 lint   |  
     12   Vegetable      2021-06-15 11:46:25 +08:00   @kensoz java 大家选择 idea 的概率太高,以至于五六个人的团队大家默认都选了 idea,愉快的避免了这个问题   |  
     13   Vegetable      2021-06-15 11:52:23 +08:00  @kensoz IDE 的格式化规则也是可以配置的,但是的的确确会出现不同 IDE 对同一套规则格式化的结果不同的情况。所以这方面对于团队 leader 活着相应负责人来说,还是有点工作量的。   |  
     15   chiu      2021-06-15 12:10:42 +08:00  目前公司范围的没有,各个 team 有各自的 < Code Style Guide >, 但没有编辑器设定统一这种程度,因为使用什么编辑器也不是统一的。   |  
     16   nightwitch      2021-06-15 12:23:39 +08:00  项目根目录放一个.clang-format,没有 format 就提 pull request 的 CI 会直接拒绝。  其他语言大抵也有类似的格式化工具  |  
     17   lrvy      2021-06-15 12:30:21 +08:00  主要用 Golang, 提交前一把梭 `go mod tidy && goimports -l -w . && gofmt -s -w . `   |  
     18   yolee599      2021-06-15 12:36:54 +08:00 via Android  tab 统一格式化为 4 个空格,否则拒绝提交   |  
     19   Rache1      2021-06-15 12:37:33 +08:00  EditorConfig   |  
     20   dayeye2006199      2021-06-15 12:51:03 +08:00  这个一般由 linter 和 formatter 处理。编辑器不管这事儿   |  
     21   laragh      2021-06-15 14:37:01 +08:00  一个人负责一个项目 根本没这个烦恼 你写成粑粑也没人管。只要能跑   |  
     22   edk24      2021-06-15 16:38:05 +08:00  EditorConfig  各种编辑器都支持,有的需要安装插件。  |  
     23   tomkliyes      2021-06-15 17:46:34 +08:00   在本地用统一的 formater 格式化之后才能提交 MR,提交 MR 会触发 CI 进行静态检查,不通过不允许合并。全部按照统一的格式来。至于编辑器本身不作要求,不过公司买了 JB 的正版授权,不用白不用,老司机还写了配置手册,不用自己花时间慢慢配置了   |  
     24   z740713651      2021-06-15 18:17:16 +08:00  python 已经开始推统一 使用 [black]( https://github.com/psf/black) 格式化和 flake8 检查了   CICD 做一下检查就好了  |  
     25   pkookp8      2021-06-15 18:22:28 +08:00 via Android  一开始有要求,后来不懂的人太多,慢慢就不要求了  于是我就看到了 tab 空格混用,crlf 和 lf 混用,末尾莫名其妙多空格的代码,  |  
     26   yjxjn      2021-06-15 21:02:53 +08:00  有,Eclipse 里面必须导入项目规定配置,而且我们项目 Eclipse,开箱即用~   |  
     27   qiutian00      2021-06-16 18:36:32 +08:00  使用 commit hook, commit 时候 formate the code   |  
     28   echoechoin      2021-06-21 18:53:13 +08:00  笑死 公司用 python   |