• 请不要在回答技术问题时复制粘贴 AI 生成的内容
herich
V2EX  ›  程序员

反感同事写的代码怎么办?

  •  
  •   herich · Jan 21, 2020 · 21151 views
    This topic created in 2336 days ago, the information mentioned may be changed or developed.

    不谈技术好坏,就编码风格来说。和同事协同开发,同事特别喜欢搞一些封装,整个项目前期主要是他一个人撸的,项目中有不少他自己写(封装)的库, 20200121173735.png 20200121173820.png

    本人有一些代码洁癖, 能用内置库和官方库解决问题的绝不使用第三方库尤其是个人的库,项目中处处都是 zxxx 这些代码,感觉被 qj,比较反感这种风格,怎么破?

    141 replies    2020-01-29 12:43:49 +08:00
    1  2  
    ace12
        101
    ace12  
       Jan 22, 2020
    粘包警犬立即出动
    Chase2E
        102
    Chase2E  
       Jan 22, 2020
    你这同事有点意思,刚毕业的吧?估计还没有接受过社会的毒打
    herich
        103
    herich  
    OP
       Jan 22, 2020 via Android
    @DJQTDJ 那也可以说公司项目用自己的库呢?

    @SnailLin 安全和后期维护的确是个大问题


    @lbfeng 测试应该都差试过,目前能跑通,正常运行,以后随着他的这些库越来越多,估计只有他一个人看得懂项目代码了


    @drackzy go 的生态不像 java,python 那么成熟,所以免不了要封装适合业务的模块,但这种一个功能就搞成一个开源仓库,还弄到自己的私人帐号下,项目到处是这种代码,合作起来比较头疼


    @zzcworld go 的很多优秀的第三方包很多都是在个人的 github 仓库呀...
    herich
        104
    herich  
    OP
       Jan 22, 2020 via Android
    @kwrush code view 是没有的,所以代码写得很随意,不过他有这习惯,之前写 python 也是这样的,pypi 上一大堆他的模块,docker hub 也有他的一堆封装的镜像(我是是在搞不懂为啥 docker 也要封装一下)


    @littlebaozi 对齐这个格式化一下就好了,问题不大,而他的这种代码外人很难弄的


    @mouyong go 语法比较简洁,加上 gofmt,代码格式没啥问题,就是不喜欢项目中这种夹杂很多私人仓库

    @sdushn 组长领导不会关注这些,他们只关心业务进度
    herich
        105
    herich  
    OP
       Jan 22, 2020 via Android
    @Chase2E 我才是刚毕业一两年的🤣,他说他写过五年 c#,后来行业不景气,就写 python 了,也就比我大两岁而已。之前写 python 就有这习惯,lxml 有 xpath,他说他自己写个解析引擎,写了个 zxpath,后来 zxpath 又不要了,写了个 zxpath2,现在 pypi 上还有这两个模块,不过很久没更新了,之前的 python 项目也有大量的这种他私人的模块,docker hub 上也有一堆他的 ubuntu,golang,python 镜像,我是真的无语╯﹏╰,所以来吐个槽。不过业务代码他能力是比我厉害不少的
    ql562482472
        106
    ql562482472  
       Jan 22, 2020
    的确很不妥 遇到这种应该全部重新封装 base 包在公司仓库里
    dawn009
        107
    dawn009  
       Jan 22, 2020
    @zzcworld 这取决于许可证。使用得当没有任何问题。
    8kFT2l6aoU9566Bg
        108
    8kFT2l6aoU9566Bg  
       Jan 22, 2020 via Android
    @tyrealgray 其实上 go module 的库也是删不了的,goproxy 有缓存
    iweus
        109
    iweus  
       Jan 22, 2020
    看了一下他的库,有些几百行不到的代码也要整成一个库
    0dJ6Tu8Za734L89T
        110
    0dJ6Tu8Za734L89T  
       Jan 22, 2020
    肯定这个同事的想法和能力,但他做的这些事情增加了很大的 risk,道理其实大家都懂的.

    看不惯就跑呗,年后面试去了[doge]
    yulon
        111
    yulon  
       Jan 22, 2020
    重构造轮子就算了,这种套皮有什么意思= =
    tsui
        112
    tsui  
       Jan 22, 2020
    这种反复重复造轮子是自己觉得写简历好看么?
    挺搞笑的。。。
    linZ
        113
    linZ  
       Jan 22, 2020
    尽量少几个库。。。不然只要有人接手,就得重复写东西了,到时候一百个地方写同一个方法,保证教你做改动的时候改的欲仙欲死
    vicvinc
        114
    vicvinc  
       Jan 22, 2020 via iPhone
    zstrimg 是啥..string ?
    herich
        115
    herich  
    OP
       Jan 22, 2020 via Android
    @tsui 这个写在简历里怕是减分项吧🤣,猛地一看以为是个大牛,仔细一看基本都是封装别人的库造些轮子
    1nakaELYBbsXbZxY
        116
    1nakaELYBbsXbZxY  
       Jan 22, 2020
    先沟通一下吧
    herich
        117
    herich  
    OP
       Jan 22, 2020 via Android
    @vicvinc 我以前点进去一看是个把图片转换成字符图的库,是把其他三方库的代码拿过来的改的,再封装成自己的库🌞
    muller
        118
    muller  
       Jan 22, 2020
    1.首先整个技术组有没有 code review 机制,这个是解决代码冲突障碍的起步
    2.CTO 或者高点小组长是否阅读过他的代码,是否支持,默认即支持
    3.一般公司发展到一定阶段都有自己的封装集成,golang 系统包让你调用 当然也让你来集成,在 IBM ctrip 我们大部分包都是自己内部二次定制开发集成,来适应公司的业务,封装是减少重复代码量,把要写一千行代码的封装暴露在一个 api 方法,完全没毛病,而且鼓励
    4.看别人集成代码自己不得不调用 感觉自己被 QJ,你认为你有代码洁癖,放在 leader 和 team 眼中可能会认为你缺少基本的协作精神
    5.他到底代码比你厉害不厉害? beyond you 就服从认怂,talk is cheapest,show me the code !!
    mengzhuo
        119
    mengzhuo  
       Jan 22, 2020
    公司开发的代码不能放外网啊,这妥妥开除+吃官司的。
    learningman
        120
    learningman  
       Jan 23, 2020 via Android
    @tt67wq php 怎么了,2020 年了还歧视 php,php 什么时候才能真正的站起来,冷抖哭
    GG668v26Fd55CP5W
        121
    GG668v26Fd55CP5W  
       Jan 23, 2020 via iPhone
    面向跳槽的编码方式 😂
    dandandanerdan
        122
    dandandanerdan  
       Jan 23, 2020
    这看的真是醉了。。。。。只能 refactor 代码了
    fighterlyt
        123
    fighterlyt  
       Jan 23, 2020
    简单开了一下,都只是简单封装而已,没必要单独建库
    slyang5
        124
    slyang5  
       Jan 23, 2020
    fork 到公司账号下
    guanhui07
        125
    guanhui07  
       Jan 23, 2020
    要么接受,要么走人
    jin7
        126
    jin7  
       Jan 23, 2020
    有个性.
    SmiteChow
        127
    SmiteChow  
       Jan 23, 2020 via Android
    应在公司组织账号下,是否开源还需要领导批准,私自公布源码有法律风险。
    hantsy
        128
    hantsy  
       Jan 23, 2020
    @herich 优先官方库,有三方优秀的库经官方优秀用第三方,绝对避免自己撸的库。

    一般开发,开发效率在第一位,好的东西拿来即用最好不过了。什么都是自己撸不现实。
    OllyDebug
        129
    OllyDebug  
       Jan 23, 2020 via iPhone
    把同事吊起来打
    iugo
        130
    iugo  
       Jan 23, 2020
    看样子不是不喜欢对方的代码, 只是不喜欢引用项中是对方个人的名字.

    如果是办公时间做的依赖, 就转移给公司账号.
    adoal
        131
    adoal  
       Jan 23, 2020
    换同事
    laravel
        132
    laravel  
       Jan 24, 2020
    送同事去武汉
    ggicci
        133
    ggicci  
       Jan 24, 2020 via iPhone
    重构,改它,反 qj
    shynome
        134
    shynome  
       Jan 25, 2020 via Android
    我也这么干,主要原因是因为如果我离职了想用这些包怎么办,重写一遍又太麻烦,不如放到自己名下。如果后面公司要求所有权归公司的话那就给公司好了,而且放到自己名下维护起来也更有责任感
    meeken
        135
    meeken  
       Jan 26, 2020 via iPhone
    你那同事辞退了吗
    shujun
        136
    shujun  
       Jan 26, 2020
    就是小团队,公共库缺少有效管理,放到个人账号上面也不合适。
    个人风格喜欢包库没办法。。。你们老大不管,你也管不了不是?
    ysy950803
        137
    ysy950803  
       Jan 27, 2020
    还是看人吧,如果可以沟通还是沟通一下,然后每次 code review 都反复提醒,提醒到他养成习惯了就好了。
    如果是个**,放弃自己的代码洁癖,让代码烂死然后换公司。
    obama
        138
    obama  
       Jan 27, 2020
    比较一下两者的 bug 跟性能,哪个更好用哪个
    srlp
        139
    srlp  
       Jan 28, 2020 via iPhone
    有一说一,

    1. 有封装意识总好过无封装意识
    2. 公司代码不应随意放在 github 上
    3. 就他这种,不应该新开各种 pkg 吧,应该统一为项目内的 base 或 utils 目录下之类的。仅个人意见哈。
    4. 这种“项目基础组件”,应该由 cto/技术负责人 统一规划?
    CoderYellow
        140
    CoderYellow  
       Jan 29, 2020
    私自开源
    ericgui
        141
    ericgui  
       Jan 29, 2020
    @srlp 有一种思路叫做 anti pattern,故意造成某种私有的知识,他一走,这公司就玩不转了。
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1039 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 98ms · UTC 23:16 · PVG 07:16 · LAX 16:16 · JFK 19:16
    ♥ Do have faith in what you're doing.