V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
firhome
V2EX  ›  职场话题

你们遇到过合作不给完整代码的情况吗?

  •  
  •   firhome · 6 小时 19 分钟前 · 3142 次点击

    一家公司找我们合作帮忙开发,对方新建了个 git 仓库。

    结果仓库里代码只给了基础的框架(前端,类似各种 admin 后台),逻辑代码通通不讲。

    他们已经做了许多开发,但是菜单一个都打不开(把相关菜单的代码从这个仓库里移出了)

    现在让我们帮忙开发,意思只新增菜单就行了。

    [新需求是照着他们之前的业务出的] 。

    他们这个 admin 用什么列表,什么搜索,弹框之类,以及他们自封的一些业务组件,我要参照他们之前怎么做的,好保持统一,现在一个都参照不了。

    真的无语,既然合作开发,这年头还有不给看全部代码的。

    34 条回复    2024-10-22 15:11:50 +08:00
    967182
        1
    967182  
       6 小时 17 分钟前
    不给看全部代码不是太正常了吗? 保证能开发调试运行,最后能合并就行了。当然示例 demo 得有。
    smilenceX
        2
    smilenceX  
       6 小时 15 分钟前
    倒也能理解,你这边工作缺少什么,找他们要就是了。
    brazz
        3
    brazz  
       6 小时 14 分钟前
    常事,万事靠自己
    listen2wind
        4
    listen2wind  
       6 小时 14 分钟前   ❤️ 1
    他不给就不保持统一了,反正以后他们二次开发是他们的事,实现功能就 ok
    gaobh
        5
    gaobh  
       6 小时 13 分钟前
    遇到过收了首付款干了一半直接跑路的,代码什么全都没给,所以我现在找开发比较谨慎,有些开发素质真的没下限
    zjttfs
        6
    zjttfs  
       6 小时 9 分钟前
    不是很正常吗?
    lyxxxh2
        7
    lyxxxh2  
       6 小时 7 分钟前
    问题是给的跑不了。
    realpg
        8
    realpg  
       6 小时 6 分钟前
    你入职腾讯微信的核心开发,你都是自己人了,你也看不到微信的全部代码。
    有规范,规范不够就找他们要,能 merge ,有测试方法,就够了
    对于要有一致性要求的,可以索要一两个 demo 页面用来扒结构
    firhome
        9
    firhome  
    OP
       6 小时 6 分钟前
    @967182

    感谢回复,我没明白 前端不给看全部代码有意义吗,而且还是测试环境。他们是给我们单独建的仓库,我怀疑最后要人肉 copy 到他们自己的仓库去。

    而且对于列表上来说是有操作的,我自测的时候 点操作要进下一个流程/列表,然而不给我下一个流程的页面代码,我也无法自测,还得反复沟通,真的很费劲。
    liahu
        10
    liahu  
       5 小时 28 分钟前
    正常的,基本保证你那模块能正常开发就行,他们有人合并的😀
    coderluan
        11
    coderluan  
       5 小时 24 分钟前
    这么做很正常,而是实际上对方比你们更麻烦,就是单纯的对方为了安全抛弃了效率。至于这个是不是过度“安全”了,或者说对方是出于什么做这个决定的,外人就不知道了。可能是确实需要,可能是之前吃过亏,也可能是单纯的对方想多了。
    pacal
        12
    pacal  
       5 小时 17 分钟前
    代码分隔没做好,但是不给全部代码是正常的,有需要找他们要就是了
    xz410236056
        13
    xz410236056  
       5 小时 9 分钟前
    @realpg 那我倒是有个疑问了,客户端没有全部代码怎么运行调试呢?难道写完不管对错先 push 打包后靠 log 盲调?
    pkoukk
        14
    pkoukk  
       4 小时 55 分钟前
    @xz410236056 首先,调试靠单测,功能基本没问题了再做集成测试。
    其次,系统开发都是插件式或者模块式开发,他肯定有一个什么功能都没有的裸框架。
    每个人开发自己的模块,合并进裸框架做测试,不要管别人做了什么功能,当然也看不到别的模块的代码。
    xz410236056
        15
    xz410236056  
       4 小时 53 分钟前
    @pkoukk “首先,调试靠单测,功能基本没问题了再做集成测试”
    你不是做客户端开发的吧,没有完整代码 run 都 run 不起来,带界面的你怎么跑?
    pkoukk
        16
    pkoukk  
       4 小时 47 分钟前
    @xz410236056 #15 单测还需要完整代码?你用的哪个上古语言?
    xz410236056
        17
    xz410236056  
       4 小时 27 分钟前
    @pkoukk #16 “单测还需要完整代码?你用的哪个上古语言?”
    你这句话就证明你后端开发多了,你说你又不是搞前端开发的你在这里犟什么?
    你写个界面不运行起来脑补画面?运行起来就需要全部的代码,不然项目就报错。你说把界面诺出来到一个空白工程,不好意思,界面很可能很复杂引用了项目脚手架 ui 、组件之类的。你怎么挪,iOS 、安卓都是这样,就算是 web 工程也很少单测 vue 组件。

    最后,前端项目 UITest 做的要比 unitTest 多。。
    pkoukk
        18
    pkoukk  
       4 小时 15 分钟前
    @xz410236056 #17 不好意思,脱离时代了。
    当年做过 windows 的客户端开发,那时候都是开发 dll ,放在裸框架 exe 文件的规定路径下,开 dbg 注入调试就行了。
    和楼主说的情况完全一样,裸框架里什么功能都没有,所有的功能都是 dll 注入进去的。
    没有想到现在基于前端技术的客户端开发比以前还不方便了....
    kpsanmao
        19
    kpsanmao  
       4 小时 12 分钟前
    我遇到过屎山传家宝代码签保密协议的,就那代码我要不是为了钱,多看一眼我都想吐。
    pkoukk
        20
    pkoukk  
       4 小时 10 分钟前
    @xz410236056 #17 后来短暂的写过一个前端项目的二开,它也是插件式的,把需要执行的 js,html 放在某个目录下,再在某个配置文件里写上这个插件的名称和配置,用户就会在菜单里看到这个功能。
    因为当年在传统软件公司,实际上卖给每个客户的版本就是这些插件功能的排列组合。我理解这种模式是刚需啊,怎么还牙膏倒吸,缩回去了呢
    ZGame
        21
    ZGame  
       4 小时 8 分钟前
    @pkoukk #18 你这也不是啥正统 winform 开发, 也只有涉及第三方厂商类似金蝶用友那种可能会用这种 hooks 方法...
    xz410236056
        22
    xz410236056  
       4 小时 6 分钟前
    @pkoukk #18 把几个界面打包成一个静态库(或者动态库、组件)这是可行的,可以单独跑的(但是不能调用主工程的相关组件之类的东西),但是公司开发功能总不能一个界面一个库吧。app 开发和 SDK 开发不太一样。
    FreeGuy
        23
    FreeGuy  
       4 小时 3 分钟前
    太幼稚了,源码是核心,怎么可能说给就给,越是影响大的项目安全级别越高!
    pkoukk
        24
    pkoukk  
       4 小时 0 分钟前
    @ZGame 插件式开发,我觉得挺正常啊,很多软件都是这个架构。
    guanhui07
        25
    guanhui07  
       3 小时 54 分钟前
    很正常
    NakeSnail
        26
    NakeSnail  
       3 小时 51 分钟前
    额外工作算钱就行,赚钱嘛
    yikyo
        27
    yikyo  
       3 小时 46 分钟前 via iPhone
    不关你事,你只要正常开发就行了,期间导致开发成本高,开发体验不舒服,只要工资正常给你,其他事情没必要纠结
    lasuar
        28
    lasuar  
       3 小时 43 分钟前
    合理的,按要求做就行了。
    ZGame
        29
    ZGame  
       3 小时 40 分钟前
    @pkoukk #24 嗯算是插件式开发吧... 但有时候更像逆向那种 hooks 方法,就是对方没提供源码 ,然后调用他的软件的方法
    ZGame
        30
    ZGame  
       3 小时 39 分钟前
    @pkoukk #24 跟 plugin 还是有区别,那个是对方主动提供的接口类,类似 java spi 那种模式,你只用按那个模式去写代码就可以了
    pkoukk
        31
    pkoukk  
       3 小时 32 分钟前
    @ZGame #30 就是这个模式,dll 按照文档实现接口,框架按接口调用 dll 里的方法。
    只是区别在于,大部分情况下不提供框架的源码,所以集成测试的时候需要注入。
    ttyy22007
        32
    ttyy22007  
       49 分钟前
    有可能对方公司某个领导拍脑袋决定的,为了代码保密
    evill
        33
    evill  
       18 分钟前
    不知道为什么这么多人介意这个问题,或者单纯为了喷保密

    这很正常的事情,比如电商 app 这些,各部门代码隔离非常正常。

    营销部分只能看到活动部分,订单部门只能改订单。

    每个模块自己做一个单独的启动方式;通用的比如 session 等,开发走 mock 。

    上线直接 CI 打包就行。

    而且很多大项目,如果给你全部代码,编译都得半天。
    evill
        34
    evill  
       17 分钟前
    当然这种项目一般有一个框架,要求各个模块按照特定的方式接入。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5392 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 07:29 · PVG 15:29 · LAX 00:29 · JFK 03:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.