V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
c466934322
V2EX  ›  程序员

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

  •  
  •   c466934322 ·
    466934322 · 2018-04-18 09:24:31 +08:00 · 6538 次点击
    这是一个创建于 2172 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本来以为成员都会默认按照原来代码的规范来写代码,但是后来发现是我想的太简单了。有人使用驼峰动词+名词结合的方式,有人使用名词的方式。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 中文拼音????
    我还以为是有人用中文有人用英文呢。。。
    x7395759
        8
    x7395759  
       2018-04-18 09:39:00 +08:00
    统一规范是要求,不是说服。
    magic3584
        9
    magic3584  
       2018-04-18 09:39:20 +08:00   ❤️ 1
    当领导,不用“说服”。

    平级就别想了
    l00t
        10
    l00t  
       2018-04-18 09:40:22 +08:00
    能看懂就行,不强求。这种地方只是看着不舒服罢了,并不会有实质上的差别。
    flyz
        11
    flyz  
       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 有人使用中文,有人使用中文拼音" 是提交信息吗
    stnaw
        14
    stnaw  
       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 Pipeline + 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
    借助工具,靠自觉没用。
    ZSeptember
        43
    ZSeptember  
       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
    从入职第一天开始就要求规范,时间长了成为习惯就好
    boywang004
        50
    boywang004  
       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, 并且要多给同事去讲(同事多半不会看).
    Flobit
        54
    Flobit  
       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   ·   我们的愿景   ·   实用小工具   ·   2845 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:21 · PVG 21:21 · LAX 06:21 · JFK 09:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.