首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
enlight
V2EX  ›  问与答

如何应对一个项目中其他组员写的烂代码?

  •  1
     
  •   enlight · 163 天前 · 2945 次点击
    这是一个创建于 163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    实在看不下去了,思维毫无逻辑想到哪写到哪,代码不格式化,变量命名大小写毫无规则,model controller 混着写,各种不规范的方式导致整个代码质量降低很多经常出一些奇怪的 bug,但是碍于面子没有出 bug 的地方又不好意思改动别人写的代码。 大家有什么方法应对这种问题吗?

    第 1 条附言  ·  163 天前
    谢谢大家的建议,其实我是外包接的一个项目,组员是另外一个接包的自由职业者,所以还没拿到钱之前既无法直接走人又不太好建议别人怎样规范,看来还是要尽快赶完这个项目后期不再参与比较好。
    以前挺反感 code review 的,现在觉得真的是有必要
    32 条回复    2020-02-28 03:23:27 +08:00
    uxstone
        1
    uxstone   163 天前
    跳槽离职
    whileFalse
        2
    whileFalse   163 天前 via iPhone
    一般而言我推荐团队新人的代码风格应和现有代码相符。

    你也这么写吖🐶
    kiritoxf
        3
    kiritoxf   163 天前
    正常应该有人 review 的
    xianxiaobo
        4
    xianxiaobo   163 天前
    直接告诉他,让他注意点就行了
    FindByMe
        5
    FindByMe   163 天前 via iPhone   ❤️ 3
    制定代码风格规范、配置静态检查工具、有不符合规范的代码、直接抛 error
    danyi
        6
    danyi   163 天前   ❤️ 7
    没遇到过这样的组员,不过我同事遇到过,看样子他们挺想打我的。
    coderluan
        7
    coderluan   163 天前
    你是负责人就制定代码规范和进行 code review,你不是负责人就建议负责人这么做。负责人明确拒绝建议离职,不懂代码质量重要性的人基本也没啥技术水平。负责人认可但是因实际情况难以推行,比如工期太紧张,这种就没啥好办法了,只能尽量明确职责,分配好模块,让自己尽量不去看别人代码,不负责别人的 bug。
    minglanyu
        8
    minglanyu   163 天前   ❤️ 1
    1.以身作则
    2.成为他们的 leader
    3.code review
    tt67wq
        9
    tt67wq   163 天前
    code review 不给通过
    itskingname
        10
    itskingname   163 天前
    依靠文档不如依靠代码。用文档或者 txt 规范来约束人是没有效果的。

    举个例子,例如 Python 项目,你多次强调写代码要遵守 PEP8 规范,可就是有人不遵守。怎么办?在 git 上面加个流程,必需 Pylint 扫描无报错,无警报了才能 merge 代码。这样就能迫使对方必需遵守。
    sagaxu
        11
    sagaxu   163 天前 via Android
    跳槽到好 team,让你自己成为被嫌弃的那个
    carpediem777
        12
    carpediem777   163 天前
    其他组员也许也有跟你一样的想法
    hoyixi
        13
    hoyixi   163 天前
    团队没有代码规范吗?
    试用期是干嘛用的?

    管理人员是干嘛吃的,正事不管,在管啥? 哈哈
    meteor957
        14
    meteor957   163 天前
    把你的烂代码给他写,然后你就心理平衡了
    nmap
        15
    nmap   163 天前
    严格模块级隔离,出了问题可追溯,就跟你没啥关系
    Smash
        16
    Smash   163 天前
    代码提交要先规范检查,检查不通过不会让合入的,规范后的代码,我都能忍。不然就六字真言。
    shm7
        17
    shm7   163 天前 via iPhone
    向甲方提这些事情
    learnshare
        18
    learnshare   163 天前
    接手的项目,该扛起来就扛起来。代码规范还是要有的

    我接手的项目没办法下手写代码,就完全换了 lint 规则,处理了几百个文件、几千处问题
    不过逻辑、模块划分啥的还是没有办法
    gowa
        19
    gowa   163 天前 via Android
    你当 reviewer,代码打回去。
    enlight
        20
    enlight   163 天前
    @learnshare 说的很对,我这边代码已经完全不是 lint 能解决的了,逻辑思维感觉很混乱。我本来搭好了一个架子,model controller services 划分得非常清晰。结果对方直接把 model 写到 services 里去了,怎么省事怎么来。而甲方只看能不能跑通和开发速度不管代码质量,本来还是因为我一个人开发速度不够才又找了个人,所以我也很为难
    jinsongzhao
        21
    jinsongzhao   163 天前
    @danyi 你可以的,原来你就是那位组员! 23333
    mcfog
        22
    mcfog   163 天前 via Android
    @enlight 既然是给你加速度加来的人,那很简单啊,告诉你领导和甲方爸爸,加这个人反而速度变慢
    jinsongzhao
        23
    jinsongzhao   163 天前
    因为代码即文档是最省力的开发模式,所以给他提供代码风格手册,好的风格大家都乐意接受,毕竟本人也要阅读,已经存在的代码重构它,也可以继续提升质量;本人不在了,那终归无法完美,只能改善,想想 github 上好项目的代码风格各式各样,而且不同语言风格混合开发也常见,读别人的代码提升自己也是必经之路。
    charlie21
        24
    charlie21   163 天前 via iPhone
    重写给他看,供他学习。求他
    blessyou
        25
    blessyou   163 天前 via Android
    当着他的面重写😝
    wm5d8b
        26
    wm5d8b   163 天前
    设计上解耦合,确保每一部分都能重构
    wm5d8b
        27
    wm5d8b   163 天前
    @charlie21 #24
    @blessyou #25
    这样不行,他会认为反正你会去重写,所以乱写好了
    sampeng
        28
    sampeng   163 天前 via iPhone
    外包项目跑起来就是赢啊
    ianva
        29
    ianva   163 天前
    没有 code review 的机制,都是空谈
    charlie21
        30
    charlie21   163 天前
    @wm5d8b 职业道德会要求他去学习
    mikulch
        31
    mikulch   163 天前
    可能你没看过我这个代码。if 可以嵌套 5,6 层。一个方法几百行。
    最牛逼的是写这个代码的人从我们公司走后竟然去了京东了。
    yilingersier
        32
    yilingersier   163 天前
    (又不是不能用。。手动狗头
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   988 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:03 · PVG 05:03 · LAX 14:03 · JFK 17:03
    ♥ Do have faith in what you're doing.