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

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

  •  
  •   herich · 2020-01-21 17:44:51 +08:00 · 18940 次点击
    这是一个创建于 1769 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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


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


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


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


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


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

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

    看不惯就跑呗,年后面试去了[doge]
    yulon
        111
    yulon  
       2020-01-22 14:35:29 +08:00
    重构造轮子就算了,这种套皮有什么意思= =
    tsui
        112
    tsui  
       2020-01-22 15:00:21 +08:00
    这种反复重复造轮子是自己觉得写简历好看么?
    挺搞笑的。。。
    linZ
        113
    linZ  
       2020-01-22 15:14:30 +08:00
    尽量少几个库。。。不然只要有人接手,就得重复写东西了,到时候一百个地方写同一个方法,保证教你做改动的时候改的欲仙欲死
    vicvinc
        114
    vicvinc  
       2020-01-22 15:30:10 +08:00 via iPhone
    zstrimg 是啥..string ?
    herich
        115
    herich  
    OP
       2020-01-22 15:57:56 +08:00 via Android
    @tsui 这个写在简历里怕是减分项吧🤣,猛地一看以为是个大牛,仔细一看基本都是封装别人的库造些轮子
    mmixxia
        116
    mmixxia  
       2020-01-22 17:04:11 +08:00
    先沟通一下吧
    herich
        117
    herich  
    OP
       2020-01-22 19:59:48 +08:00 via Android
    @vicvinc 我以前点进去一看是个把图片转换成字符图的库,是把其他三方库的代码拿过来的改的,再封装成自己的库🌞
    muller
        118
    muller  
       2020-01-22 20:59:35 +08:00
    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  
       2020-01-22 23:09:25 +08:00
    公司开发的代码不能放外网啊,这妥妥开除+吃官司的。
    learningman
        120
    learningman  
       2020-01-23 02:09:05 +08:00 via Android
    @tt67wq php 怎么了,2020 年了还歧视 php,php 什么时候才能真正的站起来,冷抖哭
    falcon05
        121
    falcon05  
       2020-01-23 02:18:07 +08:00 via iPhone
    面向跳槽的编码方式 😂
    dandandanerdan
        122
    dandandanerdan  
       2020-01-23 06:54:49 +08:00
    这看的真是醉了。。。。。只能 refactor 代码了
    fighterlyt
        123
    fighterlyt  
       2020-01-23 07:44:31 +08:00
    简单开了一下,都只是简单封装而已,没必要单独建库
    slyang5
        124
    slyang5  
       2020-01-23 10:32:25 +08:00
    fork 到公司账号下
    guanhui07
        125
    guanhui07  
       2020-01-23 12:25:16 +08:00
    要么接受,要么走人
    jin7
        126
    jin7  
       2020-01-23 12:32:53 +08:00
    有个性.
    SmiteChow
        127
    SmiteChow  
       2020-01-23 13:08:02 +08:00 via Android
    应在公司组织账号下,是否开源还需要领导批准,私自公布源码有法律风险。
    hantsy
        128
    hantsy  
       2020-01-23 13:57:21 +08:00
    @herich 优先官方库,有三方优秀的库经官方优秀用第三方,绝对避免自己撸的库。

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

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

    1. 有封装意识总好过无封装意识
    2. 公司代码不应随意放在 github 上
    3. 就他这种,不应该新开各种 pkg 吧,应该统一为项目内的 base 或 utils 目录下之类的。仅个人意见哈。
    4. 这种“项目基础组件”,应该由 cto/技术负责人 统一规划?
    CoderYellow
        140
    CoderYellow  
       2020-01-29 09:35:56 +08:00
    私自开源
    ericgui
        141
    ericgui  
       2020-01-29 12:43:49 +08:00
    @srlp 有一种思路叫做 anti pattern,故意造成某种私有的知识,他一走,这公司就玩不转了。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 18:47 · PVG 02:47 · LAX 10:47 · JFK 13:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.