组员写代码喜欢复制代码,复制完不格式化代码, 代码的写的歪七八扭的。今天说他,他改了重新提交,但是他的态度就是完全不在乎,一点都不是上心,经常犯。这是我的问题还是组员的问题,我要不要严格要求组员格式化代码,还是不管他们,只要代码能运行就行。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
burnbrid
V2EX    程序员

组员写代码喜欢复制代码,复制完不格式化代码, 代码的写的歪七八扭的。今天说他,他改了重新提交,但是他的态度就是完全不在乎,一点都不是上心,经常犯。这是我的问题还是组员的问题,我要不要严格要求组员格式化代码,还是不管他们,只要代码能运行就行。

  •  
  •   burnbrid 2019-09-24 11:01:56 +08:00 15492 次点击
    这是一个创建于 2212 天前的主题,其中的信息可能已经有所发展或是发生改变。
    129 条回复    2019-09-25 19:33:05 +08:00
    1  2  
    wszgrcy
        1
    wszgrcy  
       2019-09-24 11:06:13 +08:00 via Android
    上班,能跑起来程序员,下班,代码不优美逼死强迫症程序员
    roscoecheung1993
        2
    roscoecheung1993  
       2019-09-24 11:06:26 +08:00   2
    建议提交自动格式化,测试跑不过不能 push
    keygen88
        3
    keygen88  
       2019-09-24 11:06:37 +08:00
    这态度不行,安排去做测试吧
    Perolong
        4
    Perolong  
       2019-09-24 11:06:51 +08:00 via Android   6
    你是组长该你决定啊
    avalon0624
        5
    avalon0624  
       2019-09-24 11:07:08 +08:00
    准备长待就严格要求
    Raymon111111
        6
    Raymon111111  
       2019-09-24 11:07:19 +08:00
    你有权就强制执行
    learnshare
        7
    learnshare  
       2019-09-24 11:07:44 +08:00
    lint 之类的规则建立一下
    代码是给人看的,可读性是首要标准
    swulling
        8
    swulling  
       2019-09-24 11:07:47 +08:00   1
    直接在 git 上接 规范检查,比如 Python 就用 pylint,各个语言都有,通不过不允许提交。

    此外所有提交都有 Code Review
    nigelvon
        9
    nigelvon  
       2019-09-24 11:08:31 +08:00
    啥语言,前端相关可以强制 build 之前做格式检查,检查不通过中断 build 过程。
    hushao
        10
    hushao  
       2019-09-24 11:09:32 +08:00
    #2 差不多吧,建议全组统一自动格式化,达不到一定标准严格不准合并
    usslss
        11
    usslss  
       2019-09-24 11:10:46 +08:00
    不就 alt shift +f 吗。。。不格式化自己看的不费劲吗
    guobing
        12
    guobing  
       2019-09-24 11:11:29 +08:00
    sonar
    momocraft
        13
    momocraft  
       2019-09-24 11:13:48 +08:00   1
    大事做不好是能力问题 小事做不好是态度问题
    licraft
        14
    licraft  
       2019-09-24 11:13:55 +08:00
    gradle 里加 lint 检测,如果不符合格式运行失败提交不了代码
    knva
        15
    knva  
       2019-09-24 11:14:12 +08:00   4
    安排去非洲吧
    2255cn
        16
    2255cn  
       2019-09-24 11:14:17 +08:00
    sonar 有坏味道,重复代码块 不能提交合并请求 被发现了就扣钱
    licraft
        17
    licraft  
       2019-09-24 11:14:49 +08:00
    口头督促 就算听得进去也有可能遗漏的
    viger
        18
    viger  
       2019-09-24 11:15:49 +08:00   29
    建议先格式化一下你本帖的内容。
    没有分行和合理的断句,看着和不格式化代码效果一样。
    arrow8899
        19
    arrow8899  
       2019-09-24 11:16:05 +08:00
    我们公司也有一些人,对代码格式很不在意,觉得只要能运行就行,说了也不管用。很无语。
    astrorobbie
        20
    astrorobbie  
       2019-09-24 11:16:34 +08:00   8
    这是我在 V2EX 上见到最长的标题
    yalin
        21
    yalin  
       2019-09-24 11:18:30 +08:00
    提交审查工具?
    whasyt
        22
    whasyt  
       2019-09-24 11:18:54 +08:00   45
    我看着标题,我以为你就是那个组员
    tabris17
        23
    tabris17  
       2019-09-24 11:20:33 +08:00
    你可以要求做 code review 呀,格式不对打回去,不给合并。

    如果没有人手就拉倒吧。做好单元测试,谁写的代码谁负责咯,出问题了扣钱
    tohearts
        24
    tohearts  
       2019-09-24 11:21:41 +08:00
    code scan,代码不格式化,要以后维护的怎么看。安排去非洲吧
    wc951
        25
    wc951  
       2019-09-24 11:24:06 +08:00 via Android
    提交的时候自动格式化,静态检查
    holy_sin
        26
    holy_sin  
       2019-09-24 11:26:35 +08:00
    搞个 mr,格式不行不给过就好了
    qshu
        27
    qshu  
       2019-09-24 11:28:28 +08:00
    lint 整上 编辑器再 auto fix
    opengps
        28
    opengps  
       2019-09-24 11:28:42 +08:00
    我就是这类组员,只不过没不缩进那么夸张,VS 里自动缩进也就是一个快捷键的事。
    至于是否上心,主要取决于是否对规范有兴趣。每个人其实不是不遵守规范,而是都形成了“自己的规范”,所以当在团队里做事的时候会不知不觉的只执行“自己的规范”,这种情况下,很多时候都宁可扣点分也懒得修正。
    当然这不是不改正的理由,只是很多人的对一些“不重要”事情的观点,并不是追求 100 分,所以遇到这类问题,永远都是屡禁不止,真想解决,要么强制考核(员工容易抵触),要么培训员工的规范意识(抵触会稍低点)。
    uleh
        29
    uleh  
       2019-09-24 11:32:25 +08:00
    在 CI 上挂个 lint (偷笑)
    14m3
        30
    14m3  
       2019-09-24 11:35:26 +08:00
    可以使用 clang-format,规定使用统一格式文件(.clang-format 文件)
    sanqian
        31
    sanqian  
       2019-09-24 11:35:43 +08:00
    格式化啊 一个快捷键的问题。。。
    xuanbg
        32
    xuanbg  
       2019-09-24 11:36:04 +08:00
    @usslss 我所见过的程序员,倒是有大半就是楼主说的这种。为啥他们对格式没有一点点的要求,因为他们写过代码就再也不看了呀。其实他们知道自己代码烂,所以就更不愿意去看了。。。

    因为代码烂所以不想改,因为不想改所以代码烂。整一个蜜汁恶性循环
    iPhoneXI
        33
    iPhoneXI  
       2019-09-24 11:37:05 +08:00 via Android
    先把规范写进文档,然后 Lint 加入 CI,强制 1 推行
    passerbytiny
        34
    passerbytiny  
       2019-09-24 11:40:12 +08:00
    明显是你的问题不会管理,这大概也是公司的问题不会或者不愿寻找合适的中层管理。
    hoyixi
        35
    hoyixi  
       2019-09-24 11:41:35 +08:00
    这种人根本不适合做程序员,和类似逻辑严密类型的工作。
    usslss
        36
    usslss  
       2019-09-24 11:43:36 +08:00
    @xuanbg ..为啥会不再看 我自己格式化备注 是为了方便自己,不然过一阵回头看好多东西根本记不住
    securityCoding
        37
    securityCoding  
       2019-09-24 11:43:57 +08:00
    随手格式化是职业操守啊
    Shook
        38
    Shook  
       2019-09-24 11:44:08 +08:00
    团队 review 的时候就可以进行代码风格和统一。
    lihongjie0209
        39
    lihongjie0209  
       2019-09-24 11:45:27 +08:00
    持续集成之前自动格式化一下不就好了
    richzhu
        40
    richzhu  
       2019-09-24 11:46:29 +08:00
    组长有权利要求格式化,不格式化接手人或合作人不是一脸懵逼? 不要求格式化反而感觉你组长做的不到位
    azcvcza
        41
    azcvcza  
       2019-09-24 11:47:37 +08:00
    搞个 linter,格式不对就报错那种
    Sapp
        42
    Sapp  
       2019-09-24 11:48:30 +08:00
    你们开发流程有问题,指望着什么都靠自觉本身就是不靠谱,这个问题更多责任是组长,组长不就是搞这个的么?
    xuanbg
        43
    xuanbg  
       2019-09-24 11:51:19 +08:00
    @usslss 大概是只为了混口饭吃做的程序员吧。。。这类人最大的特点就是过不去 30 岁的这道坎,勉强过去了也还有 35 岁在前面等着。但你让他提高一下自己的水平的话,只把你的话当耳边风,然后照例每天焦虑。

    好好写代码就能累死吗?代码写漂亮点自己看着不会舒服点吗?我也真是理解不能
    ofooo
        44
    ofooo  
       2019-09-24 12:04:36 +08:00
    还是 python 好, 至少大家缩进没毛病(狗头)
    Tumblr
        45
    Tumblr  
       2019-09-24 12:07:20 +08:00   3
    看这标题,楼主不会就是那个组员吧?

    话说,写代码没有自己公司的代码规范么?
    如果没有,建议现在就出台一份,大家都参考规范来写。
    46Gnj0E0OBmad377
        46
    46Gnj0E0OBmad377  
       2019-09-24 12:08:08 +08:00
    build 的时候加 format 测试,然后弄个自动格式化就行
    RunPiggy
        47
    RunPiggy  
       2019-09-24 12:10:39 +08:00 via iPhone
    说服人要讲好处而不是讲道理,人都有很强利我偏好的,你说这样做(对他)有什么好处,不这样做(对他)有什么坏处,这种方式更容易说服人
    zjp
        48
    zjp  
       2019-09-24 12:14:18 +08:00 via Android
    别在项目弄自动化格式,直接格式检查不通过就编译失败,不然不长记性啊
    IanPeverell
        49
    IanPeverell  
       2019-09-24 12:19:57 +08:00
    都是被大括号惯的,全员转 python 吧,让他们不格式化,连跑都跑不通
    zhenjiachen
        50
    zhenjiachen  
       2019-09-24 12:42:06 +08:00
    @roscoecheung1993 我在项目加了 git hook 用 hook 来检查 lint,结果他们同事为了提交直接在 idea 研究出了去掉 git hook 的提交,然后 lint 就没用了。。。
    scukmh
        51
    scukmh  
       2019-09-24 12:48:22 +08:00
    麻烦标题格式化一下,看着累。
    litp
        52
    litp  
       2019-09-24 12:48:43 +08:00
    看你们标准了,所有人都要求格式的话,就一个都不能少。
    yuikns
        53
    yuikns  
       2019-09-24 12:50:24 +08:00
    @zhenjiachen 在 CI 层做 lint,自动化检测不过不让 merge
    chinvo
        54
    chinvo  
       2019-09-24 12:59:05 +08:00
    CI 上放个 lint,多大的事儿
    CEBBCAT
        55
    CEBBCAT  
       2019-09-24 13:00:55 +08:00 via Android
    @IanPeverell 箭头式代码了解一下
    pinews
        56
    pinews  
       2019-09-24 13:02:22 +08:00
    公司的钱要么花在领导身上,要么话在中层身上,要么花在基层身上,谁拿钱谁干活,谁不干活谁滚蛋?你把这个弄清楚了再动手不迟,不然你就是没事找事。
    pinews
        57
    pinews  
       2019-09-24 13:07:46 +08:00
    公司的要求是什么,公司主要把钱花在领导身上,还在中层身上,或花在基层身上,谁是实际上的负责人,谁能获取好处?你把这个弄清楚了再动手不迟,不然你就是没事找事,要么是向上层贴冷屁股,要么是酷吏失去人心。
    qza1212
        58
    qza1212  
       2019-09-24 13:12:36 +08:00
    代码质量是生命线,这个规范必须是全组统一的
    代码 ci 必须过静态检测,merge 之前必须过 cr,先制定规范,久而久之大家就会习惯
    mamahaha
        59
    mamahaha  
       2019-09-24 13:13:50 +08:00   1
    一起做项目谁愿意替别人出力?这个代码可读性只对项目负责人有好处,对于组员来说,有些时候甚至是让他留在岗位的障碍。
    可以让每个人负责的模块更独立一些,或者强化每个人的不可替代性,或者你制定出来一套标准,不按标准执行就会被处罚。
    wangkun025
        60
    wangkun025  
       2019-09-24 13:14:12 +08:00   4
    标题写成这样,还好意思说别人?
    Just1n
        61
    Just1n  
       2019-09-24 13:37:57 +08:00
    在我厂,如果代码格式化不标准,build 都没法 build。
    我们写了一大堆 Code Rules 放在预编译阶段去检查代码规范。
    poplar50
        62
    poplar50  
       2019-09-24 13:40:11 +08:00 via Android
    应该规范流程,不通过指定 format 过程不能通过自动测试,也就不能提交代码。
    251243021
        63
    251243021  
       2019-09-24 13:44:33 +08:00
    直接上 lint.git 提交效验.gitlab 校验
    redbuck
        64
    redbuck  
       2019-09-24 13:51:24 +08:00
    前端的话,prettier 了解一下.

    配置好后,管他们本地是什么鬼样,提交到仓库就一个样
    linxl
        65
    linxl  
       2019-09-24 13:55:10 +08:00
    @wangkun025 被你一语点中, 一直觉得哪里不对, 就是说不上来.
    Otho
        66
    Otho  
       2019-09-24 13:56:25 +08:00
    标题一定要这么长么。。。
    Lint
        67
    zjsxwc  
       2019-09-24 13:56:43 +08:00 via Android
    你们没有 code review 吗
    userdhf
        68
    userdhf  
       2019-09-24 13:57:05 +08:00
    一个 alt shift f 的事....
    xfan00
        69
    xfan00  
       2019-09-24 14:20:50 +08:00
    加个 lint 的 git hook 解决...
    sightchen
        70
    sightchen  
       2019-09-24 14:22:42 +08:00
    我觉得需要格式化,我们连编码规范都要严格要求。对齐格式真的太重要了,美观整齐。
    EastLord
        71
    EastLord  
       2019-09-24 14:28:46 +08:00
    组员的问题
    sdushn
        72
    sdushn  
       2019-09-24 14:40:34 +08:00
    比如看到你的标题(雾)格式化不就是一个组合键就能搞定的事情嘛,建议强制格式化
    l00t
        73
    l00t  
       2019-09-24 14:49:31 +08:00
    我觉得你也是这号人啊……
    linvaux
        74
    linvaux  
       2019-09-24 14:50:10 +08:00 via Android
    ci 加门禁
    KunMinX
        75
    KunMinX  
       2019-09-24 14:53:17 +08:00
    劝你业余时间 花点心思 传一份自己自主设计的软件的源码到 GitHub,建立你在世界范围内的话语权,然后未来去找和你志同道合的人一起工作。不要花时间去教育从不思考的人。
    luozic
        76
    luozic  
       2019-09-24 14:54:03 +08:00
    git 支持 hook 来 format
    millson
        77
    millson  
       2019-09-24 15:03:29 +08:00
    ci 中检测,不过 lint 的不予合并
    justforlook44444
        78
    justforlook44444  
       2019-09-24 15:17:54 +08:00
    把代码规范作为检验代码质量的考核标准之一;
    lz 去下本 Google-C++编码规范中文版看看,
    开会的时候大家达成一致,统一一下标准,然后实施。
    vmebeh
        79
    vmebeh  
       2019-09-24 15:23:15 +08:00 via iPhone
    看回复觉得这类组员还不少啊,估计根本不上心,只有能通过就行,难怪现在的 App 越来越卡…
    Varobjs
        80
    Varobjs  
       2019-09-24 15:29:02 +08:00 via Android
    能跑就行,是很多人的工作态度
    有权就干他,同级就算了,别找不痛快
    iblessyou
        81
    iblessyou  
       2019-09-24 15:47:53 +08:00
    18 和 22 楼就是我想说的
    tourist2018
        82
    tourist2018  
       2019-09-24 15:51:01 +08:00   1
    @opengps #28 额。。。我觉得这不是理由 只有代码规范给出来大家都没有异议就应该严格遵守 你自己写自己的项目想怎么写就怎么写 公司代码还是要按照组里的要求搞得
    tourist2018
        83
    tourist2018  
       2019-09-24 15:51:59 +08:00
    @Tumblr #43 自己给出来一份 然后开个会 大家有意见就提 所有人通过的话表示大家都遵守了 就好了 哪有那么麻烦
    tourist2018
        84
    tourist2018  
       2019-09-24 15:54:12 +08:00
    @mamahaha #57 代码格式化 为啥会对下面的人没有益处 只要规范是现行的 肯定对个人是有好处的
    b00tyhunt3r
        85
    b00tyhunt3r  
       2019-09-24 16:04:14 +08:00 via iPhone
    代码丑陋看着真的糟心,尤其是别人的
    jiajia94
        86
    jiajia94  
       2019-09-24 16:06:35 +08:00
    快捷键格式化可能导致一大堆代码都显示是你最后改动的
    gw4gw
        87
    gw4gw  
       2019-09-24 16:09:33 +08:00 via iPhone
    mark 一下自己各位大佬的方法,回去规范下自己代码
    darknoll
        88
    darknoll  
       2019-09-24 16:12:10 +08:00
    把他炒了
    evernight
        89
    evernight  
       2019-09-24 16:12:38 +08:00
    树立代码规范,违规发现一次罚款 50 元作为团建经费
    除了被罚的人,大家都开心
    欢迎不上心的组员购买包月服务
    nicevar
        90
    nicevar  
       2019-09-24 16:14:46 +08:00
    CI+SonarQube,不合规直接报错,要不用你去操心了
    bib
        91
    bib  
       2019-09-24 16:16:50 +08:00
    你先学会如何写合适字数的标题,再说别人。
    SimonOne
        92
    SimonOne  
       2019-09-24 16:22:23 +08:00
    @tourist2018 #83 还是强硬点直接凝定一份好吧,不然开会讨论,一伙要 tab 缩进,一伙要空格缩进,还不打起来
    hfbb
        93
    hfbb  
       2019-09-24 16:22:52 +08:00
    出了问题罚钱,敢作敢当
    zr8657
        94
    zr8657  
       2019-09-24 16:25:31 +08:00
    楼上没几个能真抓住核心问题的。什么钱招什么人,给多少钱干多少活,就这么个道理,不爽你就喊老板赔 N+1 辞了他换个对代码有追求的啊
    huage2580
        95
    huage2580  
       2019-09-24 16:47:11 +08:00
    git commit
    √ Reformat code
    √ Optimize imports
    OakScript
        96
    OakScript  
       2019-09-24 16:48:25 +08:00
    ci 加 lint,不过合不了代码
    hantsy
        97
    hantsy  
       2019-09-24 16:51:15 +08:00
    既然有这么简单的问题代码怎么上去?

    你们不用 Git 吗?不用 Branch 去开发新特性吗?合并之前不需要跑 CI 测试吗?没有 Code Review 吗?
    tourist2018
        98
    tourist2018  
       2019-09-24 16:59:46 +08:00
    @SimonOne #90 注意我说的是大家都通过。。。
    Ixizi
        99
    Ixizi  
       2019-09-24 17:06:48 +08:00
    一般不管 能跑就行
    shifttacn
        100
    shifttacn  
       2019-09-24 17:11:16 +08:00
    你是他领导,干他
    你是他平级,忍着
    1  2  
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1077 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 23:05 PVG 07:05 LAX 16:05 JFK 19:05
    Do have faith in what you're doing.
    ubao 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