各位的编辑器公司有统一的设定要求吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
kensoz
V2EX    程序员

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

  •  
  •   kensoz 2021-06-15 10:40:52 +08:00 5536 次点击
    这是一个创建于 1603 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    28 条回复    2021-06-21 18:53:13 +08:00
    shakukansp
        1
    shakukansp  
       2021-06-15 10:45:31 +08:00
    prettier . --write
    LokiSharp
        2
    LokiSharp  
       2021-06-15 10:48:55 +08:00 via iPhone   3
    CI 跑一遍 lint 不符合规则的拒绝合并
    bthulu
        3
    bthulu  
       2021-06-15 10:51:05 +08:00
    没有的, 一团乱麻, 自己格式化
    ericls
        4
    ericls  
       2021-06-15 10:53:22 +08:00 via iPhone
    CI 的责任
    nevin47
        5
    nevin47  
       2021-06-15 11:02:33 +08:00
    这种 CodingStyle 的问题都是人工规定+review+CI
    ericls
        6
    ericls  
       2021-06-15 11:10:15 +08:00 via iPhone
    @nevin47 不要人工干预代码 style 会浪费大量时间 。如果 review 里面出现了代码风格问题 只能说明 pre-commit 没设置好 或者 CI 美设置好
    nevin47
        7
    nevin47  
       2021-06-15 11:15:10 +08:00
    @ericls #6 大部分还是要靠 CI,但是有些 CI 不是特别好设置,例如十六进制的数据,一般 CI 都会放行,需要人工判定一下是否是 magic number 的滥用,或者是本身临时使用 /特定含义数字
    ericls
        8
    ericls  
       2021-06-15 11:20:53 +08:00 via iPhone
    @nevin47 这种的确 我们一般会有注释去皮 disable linter. Review 的时候重点关注这种例外
    Vegetable
        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 了。
    kensoz
        10
    kensoz  
    OP
       2021-06-15 11:42:40 +08:00
    @Vegetable 感谢回复。像 java 用 ide 格式化的话,那就事前需要统一 ide 和 ide 设置吧
    ericls
        11
    ericls  
       2021-06-15 11:44:12 +08:00 via iPhone   1
    @kensoz 不同的 ide 也可以用 .editorconfig 或者在 pre-commit 的 hook 里面做 lint
    Vegetable
        12
    Vegetable  
       2021-06-15 11:46:25 +08:00   1
    @kensoz java 大家选择 idea 的概率太高,以至于五六个人的团队大家默认都选了 idea,愉快的避免了这个问题
    Vegetable
        13
    Vegetable  
       2021-06-15 11:52:23 +08:00
    @kensoz IDE 的格式化规则也是可以配置的,但是的的确确会出现不同 IDE 对同一套规则格式化的结果不同的情况。所以这方面对于团队 leader 活着相应负责人来说,还是有点工作量的。
    lance86
        14
    lance86  
       2021-06-15 12:00:21 +08:00
    @Vegetable 楼上提到的 同一份 .editorconfig 也会不同 ide 不同么? idea 应该自带支持的
    chiu
        15
    chiu  
       2021-06-15 12:10:42 +08:00
    目前公司范围的没有,各个 team 有各自的 < Code Style Guide >, 但没有编辑器设定统一这种程度,因为使用什么编辑器也不是统一的。
    nightwitch
        16
    nightwitch  
       2021-06-15 12:23:39 +08:00
    项目根目录放一个.clang-format,没有 format 就提 pull request 的 CI 会直接拒绝。
    其他语言大抵也有类似的格式化工具
    lrvy
        17
    lrvy  
       2021-06-15 12:30:21 +08:00
    主要用 Golang, 提交前一把梭 `go mod tidy && goimports -l -w . && gofmt -s -w . `
    yolee599
        18
    yolee599  
       2021-06-15 12:36:54 +08:00 via Android
    tab 统一格式化为 4 个空格,否则拒绝提交
    Rache1
        19
    Rache1  
       2021-06-15 12:37:33 +08:00
    EditorConfig
    dayeye2006199
        20
    dayeye2006199  
       2021-06-15 12:51:03 +08:00
    这个一般由 linter 和 formatter 处理。编辑器不管这事儿
    laragh
        21
    laragh  
       2021-06-15 14:37:01 +08:00
    一个人负责一个项目 根本没这个烦恼 你写成粑粑也没人管。只要能跑
    edk24
        22
    edk24  
       2021-06-15 16:38:05 +08:00
    EditorConfig

    各种编辑器都支持,有的需要安装插件。
    tomkliyes
        23
    tomkliyes  
       2021-06-15 17:46:34 +08:00   1
    在本地用统一的 formater 格式化之后才能提交 MR,提交 MR 会触发 CI 进行静态检查,不通过不允许合并。全部按照统一的格式来。至于编辑器本身不作要求,不过公司买了 JB 的正版授权,不用白不用,老司机还写了配置手册,不用自己花时间慢慢配置了
    z740713651
        24
    z740713651  
       2021-06-15 18:17:16 +08:00
    python 已经开始推统一 使用 [black]( https://github.com/psf/black) 格式化和 flake8 检查了
    CICD 做一下检查就好了
    pkookp8
        25
    pkookp8  
       2021-06-15 18:22:28 +08:00 via Android
    一开始有要求,后来不懂的人太多,慢慢就不要求了
    于是我就看到了 tab 空格混用,crlf 和 lf 混用,末尾莫名其妙多空格的代码,
    yjxjn
        26
    yjxjn  
       2021-06-15 21:02:53 +08:00
    有,Eclipse 里面必须导入项目规定配置,而且我们项目 Eclipse,开箱即用~
    qiutian00
        27
    qiutian00  
       2021-06-16 18:36:32 +08:00
    使用 commit hook, commit 时候 formate the code
    echoechoin
        28
    echoechoin  
       2021-06-21 18:53:13 +08:00
    笑死 公司用 python
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5783 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 03:01 PVG 11:01 LAX 19:01 JFK 22:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86