如何说服团队成员统一规范? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制贴 AI 生成的内容
c466934322
V2EX    程序员

如何说服团队成员统一规范?

  •  
  •   c466934322
    466934322 2018-04-18 09:24:31 +08:00 7330 次点击
    这是一个创建于 2732 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本来以为成员都会默认按照原来代码的规范来写代码,但是后来发现是我想的太简单了。有人使用驼峰动词+名词结合的方式,有人使用名词的方式。git 有人使用中文,有人使用中文拼音。和他们说这个问题后,人家来了一句:我以前就是这样写代码的,没有啥问题。背后还说:这家伙老是挑我的刺
    60 条回复    2018-04-19 10:37:54 +08:00
    loshine1992
        1
    loshine1992  
       2018-04-18 09:26:10 +08:00   1
    说服老大,code review,不合格扣绩效
    ai277014717
        2
    ai277014717  
       2018-04-18 09:28:06 +08:00   1
    首先明确指定出一份规范。然后 lead 要督促。
    hjw45611
        3
    hjw45611  
       2018-04-18 09:31:02 +08:00   5
    上面不重视,说啥都白搭
    c466934322
        4
    c466934322  
    OP
       2018-04-18 09:31:54 +08:00   1
    我觉得是我没有说清楚情况,公司没有技术方面的大佬,一直都是我在引导技术,但是我也不懂这方面的规范,所以我没有意识到这方面的问题
    zj299792458
        5
    zj299792458  
       2018-04-18 09:32:43 +08:00
    不是 team leader 的话还是不要操这个心了……无法建立有效的监督机制,靠说服是不太可能的。
    loshine1992
        6
    loshine1992  
       2018-04-18 09:33:55 +08:00
    如果大家都是同等级的,你就别操心了。

    blame 的时候谁写的谁维护就行
    chairuosen
        7
    chairuosen  
       2018-04-18 09:34:33 +08:00
    git 中文拼音????
    我还以为是有人用中文有人用英文呢。。。
    quickma
        8
    quickma  
       2018-04-18 09:39:00 +08:00
    统一规范是要求,不是说服。
    rrubick
        9
    rrubick  
       2018-04-18 09:39:20 +08:00   1
    当领导,不用“说服”。

    平级就别想了
    l00t
        10
    l00t  
       2018-04-18 09:40:22 +08:00
    能看懂就行,不强求。这种地方只是看着不舒服罢了,并不会有实质上的差别。
    fstab
        11
    fstab  
       2018-04-18 09:41:31 +08:00 via Android
    上面不重视,说多了得罪人。
    我现在都不想说了,关我屁事。
    做好自己就好了,别人要乱搞我也控制不了。
    c466934322
        12
    c466934322  
    OP
       2018-04-18 09:41:45 +08:00
    @chairuosen 都有,我建议是用英文。一共有三种:中文,中文拼音,英文
    @loshine1992 问题是:大多数人都是写了两天代码就跑了。留下一堆不一样的代码
    @zj299792458 刚刚好的就是:我最近刚好想转型,老板也给了一个小机会,所以有说服力,但是不会说,因为要照顾他人的情绪。

    主要是我没有管理方面的经验,然后我又想做这个事,所以我来这里请教各位。老板也给我了一个机会,让我去尝试着管理。当我开始管理的时候,我就发现这个问题了:规范问题。并且这个问题已经形成了,所以我更多是希望如何解决这个问题,直接了当的说,这个人会说在挑他的刺。但是不说,这个问题会越来越严重
    yoke123
        13
    yoke123  
       2018-04-18 09:42:27 +08:00
    那我们这种 写代码命名基本都是 去谷歌翻译一下 然后复制进来的人
    合格吗
    "git 有人使用中文,有人使用中文拼音" 是提交信息吗
    qwertyiuop
        14
    qwertyiuop  
       2018-04-18 09:42:31 +08:00
    求同存异
    eric1202
        15
    eric1202  
       2018-04-18 09:45:28 +08:00   1
    开会聊一下利弊,再吃个饭缓解关系
    binjoo
        16
    binjoo  
       2018-04-18 09:48:50 +08:00
    要么同流,要么离职。

    没有领导去牵头,平级去处理这种事情,吃力不讨好。。
    很多人只是把工作内容当成任务,任务完成就行了。只要没有问题,其他的哪管得了那么多。。
    xianyu0
        17
    xianyu0  
       2018-04-18 09:49:42 +08:00   1
    从上往下推,如果领导也觉得无所谓,那还是弃坑吧。别的方式基本都无效,因为狗改不了吃屎。
    LeoNG
        18
    LeoNG  
       2018-04-18 09:52:16 +08:00
    如果上面不重视,LZ 还是别放弃吧,这就是一个吃力不讨好的事。
    yanjinbin
        19
    yanjinbin  
       2018-04-18 10:07:23 +08:00 via iPhone
    @c466934322 所以你的规范都没说清楚,那你发个 mao
    nfer
        20
    nfer  
       2018-04-18 10:14:19 +08:00   1
    说服是不可能说服的,别说同级,就是比你低一级,规范的事情别人也不一定服你,本身就没有什么对错的事情。
    我的方案是:使用 eslint 等工具来限制,不满足规范你的代码就编译运行不过。
    这种方法能够让一部分认为“规范没有意义”的同事纳入到规范中。

    但是对于那种有自己的“坚持”的同事,比如 tab 和空格党,这就纯属于看能力了,谁 nb 谁说了算,都不 NB 就别 BB。
    fengbica
        21
    fengbica  
       2018-04-18 10:17:29 +08:00
    那就不合代码
    dikT
        22
    dikT  
       2018-04-18 10:19:30 +08:00
    python 变量都支持中文了, git commit 中文咋地了
    zr8657
        23
    zr8657  
       2018-04-18 10:21:33 +08:00
    @c466934322 大部分情况下让管理又不给明确的权力,就是扯淡。大家都是同级谁搭理你?我吃过这样的亏,我身边也正在发生这样的事,都是泪。
    imnpc
        24
    imnpc  
       2018-04-18 10:24:47 +08:00   1
    git 一般建议 英文+中文 如果针对国际化的项目 可以只英文
    whosesmile
        25
    whosesmile  
       2018-04-18 10:25:37 +08:00   1
    构建工程的时候加上强制的语法验证啊??这有什么好纠结的?构建失败他还能去改构建规则不成...
    locktionc
        26
    locktionc  
       2018-04-18 10:28:38 +08:00   1
    先说代码命名问题,例如 Python 有 pylint,可以检查变量命名方式。你用的那个语言应该也有这种东西。

    再说 Git,Git 中英文我觉得问题不大。你可以做一个 Git commit 的模板,他们提交的时候可以设置自动使用这个模板。

    建议上持续集成,提交代码到 Git 以后,Jenkins 自动拉取代码,自动检查代码规范,不合格不让进。
    NonClockworkChen
        27
    NonClockworkChen  
       2018-04-18 10:31:19 +08:00
    你如果想让拼音的人写英语,这是不可能的- -
    Chyroc
        28
    Chyroc  
       2018-04-18 10:34:26 +08:00
    @whosesmile 人家不舒服真的改了怎么办,哈哈哈
    c466934322
        29
    c466934322  
    OP
       2018-04-18 10:34:32 +08:00
    @LeoNG 上面还是很重视的,关键是上面不懂技术。
    @zr8657 我现在有一点名义上的权利,总部下发文件承认了我存在的意义
    @nfer php 开发的
    @dikT 大佬级的,萌新瑟瑟发抖

    @yanjinbin 发的意义是探寻如何补救,不能说出了问题就坐视不理。现在就是在找补救方案
    @flyz 是的,平级确实很尴尬。
    goodryb
        30
    goodryb  
       2018-04-18 11:20:19 +08:00   1
    首先,你要制定一个规范,最好是邀请所有组员参与讨论制定,让大家都没有异议
    其次,说服老板,讲清楚好处,让规范变成制度,写进每个人的 KPI 里面
    第三,建立有效的审查机制,代码 review,自动规范检查
    onion83
        31
    onion83  
       2018-04-18 11:33:37 +08:00   1
    最佳实践是:用技术去约束规范

    每个人背景不一样,甚至对文字的理解都不一样,你的文字规范、口头劝说对别人只有指导意义,而没有强制意义。

    - 代码层面:在代码提交阶段,服务器对代码做前置检查,不通过就不能提交。( Mess Detector 了解一下)
    包括且不限于:语法检查、文件编码约束、禁止 tab、函数 /方法命名检测,未使用函数、变量检查,自动化测试等

    - 数据层面:分离 DAO 层,无法直连数据库,只能通过中间件、API 取数据

    - 产品层面:少写代码,能自动生成尽量自动生成。高度抽象思考现有业务,能做后台做后台,通过配置驱动业务
    c466934322
        32
    c466934322  
    OP
       2018-04-18 11:49:05 +08:00
    @goodryb
    @onion83
    @locktionc
    @whosesmile
    @imnpc
    @nfer
    @nfer
    @imnpc
    @nfer
    @xianyu0
    @eric1202
    @hjw45611
    @loshine1992
    @ai277014717

    感谢各位的解惑,我想我有了解决方案,确实不能单对单说:单对单有种不一样的地方,以后还是开会讨论,然后用技术去实现讨论的结果,强行约束所有人
    6diyipi
        33
    6diyipi  
       2018-04-18 12:00:38 +08:00
    抓住每一个人打一顿,问他服不服。
    tomczhen
        34
    tomczhen  
       2018-04-18 12:01:09 +08:00
    技术上:

    1. 用脚本解决习惯和偏好问题(空格,tab )
    2. CI Pipelne + lint
    3. 根据实际情况添加自动检查机制
    4. 根据 CI 生成业绩指标数据


    管理上:

    1. 明确权力
    2. 干掉不听话的,如果干不掉就边缘化

    其他:

    做好失败之后找下家的准备
    woodface2233
        35
    woodface2233  
       2018-04-18 12:08:58 +08:00 via iPhone
    这是强制不需要说服
    SuperMild
        36
    SuperMild  
       2018-04-18 12:10:53 +08:00
    看来你们老板对管理也不是很懂,光口头上支持你没用的,要给你实权,有实权才能谈如何恩威并施,没有实权都懒得鸟你,不反过来怼你就已经很客气了。
    chiu
        37
    chiu  
       2018-04-18 12:15:37 +08:00 via Android
    用 svn,权限限制,这样你就看不到别人不规范的代码了
    SuperMild
        38
    SuperMild  
       2018-04-18 12:16:50 +08:00
    另外,老板如果想在公司内培养管理者,一般最好放出消息,画个大饼,然后暗示明示两三个候选人,对他们表示重视,让他们去竞争,在这个过程中慢慢地对其中一人显示出偏好,让全部员工看到这个过程,这样他的威信才能建立起来。

    但如果本来就有一个技术和管理都优秀的人才,就不用这么麻烦,他自己就有足够的魅力去管人。
    swulling
        39
    swulling  
       2018-04-18 13:07:35 +08:00 via iPhone
    @c466934322 你有权利拒绝代码入库,罚款,扣除绩效么,没有权利没有义务

    向你的 Leader 要授权
    yanjinbin
        40
    yanjinbin  
       2018-04-18 13:23:03 +08:00 via iPhone
    管好你自己吧。。。要提高团队代码质量从招聘就可以开始了。。呵呵
    Felldeadbird
        41
    Felldeadbird  
       2018-04-18 14:26:41 +08:00
    楼主不是管理的话,别去理这种事情。
    反之,开会要求全体执行。自己多 做代码审查。 其实,GIT PUSH 部分可以做一些自动化监测脚本,检查代码中变量,函数,类名,文件名是否按照 规范文档编写。
    seeker
        42
    seeker  
       2018-04-18 14:38:00 +08:00   1
    借助工具,靠自觉没用。
    looplj
        43
    looplj  
       2018-04-18 15:15:56 +08:00
    需要 leader 推动
    niubee1
        44
    niubee1  
       2018-04-18 15:26:02 +08:00   1
    规范和流程都是自顶向下推进的, 你需要和 Boss 聊聊
    php230
        45
    php230  
       2018-04-18 15:26:26 +08:00
    既然定了开发规范,团队成员哪有不遵守的理?
    vlyonline
        46
    vlyonline  
       2018-04-18 16:33:53 +08:00
    重构他们代码,但是你的代码要比他们的更高效,要不然就别动,忍着,我和我有代码洁癖的朋友都是这样干的,如果你做得比他们好,他们几乎不会去质疑你( 1 是因为懒,2 是因为反正都重构了他也不想重构回来),不过你要看清楚前提,你的代码更高效、优雅!做不到就先忍着,因为你大佬都没意见你就别说话了,因为再怎么说我们都要尊重领导。
    hasbug
        47
    hasbug  
       2018-04-18 16:44:00 +08:00
    不列入代码考核 别想了。
    平时工作有傻逼遇到 svn 冲突都直接覆盖了呢,这活没法干了
    icegreen
        48
    icegreen  
       2018-04-18 16:57:14 +08:00
    阿里代码检查插件了解一下
    Libby520
        49
    Libby520  
       2018-04-18 17:01:19 +08:00
    从入职第一天开始就要求规范,时间长了成为习惯就好
    vela
        50
    vela  
       2018-04-18 17:50:13 +08:00
    checkstyle, pmd 了解下。
    douya0808
        51
    douya0808  
       2018-04-18 17:53:25 +08:00
    我以前的项目组老大规定必须 check style、findbug 两者错误、警告均为 0,否则一个罚款 50,最高一个月我被罚了 1500

    现在出来看其他项目组的代码真是辣眼睛,感觉发财了,但是钱肯定收不上来啊哈哈
    ourzhang
        52
    ourzhang  
       2018-04-18 18:00:30 +08:00
    我们就是被强迫的那种,代码多一个空格都找麻烦。
    必须要过 checkstyle。
    Akagi201
        53
    Akagi201  
       2018-04-18 18:17:27 +08:00
    确实是个问题, 我建立了 wiki, 并且要多给同事去讲(同事多半不会看).
    YanSep
        54
    YanSep  
       2018-04-18 18:21:16 +08:00 via Android
    这个简单,首先要制定一套规范,然后按规范执行,违规的处罚,就这样,我们公司以前也是没有规范的
    feverzsj
        55
    feverzsj  
       2018-04-18 18:23:47 +08:00
    规范就是你写的东西别人能看得懂,小公司就别要求太多了
    hxtheone
        56
    hxtheone  
       2018-04-18 18:25:07 +08:00
    如果领导不重视这个, 基本无解, 做好自己就好了
    Hippie
        57
    Hippie  
       2018-04-18 19:45:48 +08:00
    像 java, 半年前 阿里巴巴就发布了一套阿里巴巴内部的规范约束插件, 装了插件之后 就会自动识别命名 格式等等 是否规范。 PHP 的话你可以找找看有没有类似的插件
    linxl
        58
    linxl  
       2018-04-18 20:02:03 +08:00
    这是纪律。
    Biscuits
        59
    Biscuits  
       2018-04-19 10:24:50 +08:00
    如果要推进, 被议论是难免的. 这种只能靠你自己的声望来避免.一定要强势, 规范很多时候也是不讲道理的.
    Jehovah
        60
    Jehovah  
       2018-04-19 10:37:54 +08:00
    作为同事,的确没法管人家怎么写,除非你是领导
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     911 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 21:56 PVG 05:56 LAX 14:56 JFK 17:56
    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