以前做的都是 BS 的程序,前后分离,前端、后端、数据库 分别是三批人分成不同权限管理,所以也不担心代码泄露或者权限问题。 那么如果是 CS 的程序,要 Git 仓库要怎么分权限,既保证一个人无法拿到全部的代码,而且也不影响在开发过程中的协作呢?
1
panxiuqing 117 天前
以前三批人没法交流串通?
|
2
shadowyue 117 天前
没有完整代码项目在开发的时候能跑起来?
|
3
supermama OP @panxiuqing 理论上会,但是至少出状况的概率会低一些。现在如果是 cs 结构,其实连数据库也没有,纯客户端,一个人出事,代码就被拿走了。
|
5
vituralfuture 117 天前 via Android
拿不到全部的代码其实问题很大。假设楼主的这个项目是 C++写的,可以通过链接到预先编译的库的方式避免某人拿到这部分的代码,但只适用于分层明显的情况下。如果这部分属于同一层,出 bug 了很难排查。如果这一层是频繁变动的业务,操作起来也很麻烦
最后,防止代码泄露应该靠法律手段,技术手段防不住的 |
6
shijingshijing 117 天前
@shadowyue 接口定义好了完全没问题的,前提是文档完善,接口清晰,不经常变来变去。
|
7
shadowyue 117 天前
客户端程序也可以拆成例如 UI 层,业务层,数据层吧,
每个部分之间的交互通讯能支持本地或者远程两种方式的话, 你就能把几个部分拆开,各自开发各自的。这个思路不知道是否可行 |
8
zhangeric 117 天前
cs 跟 bs 一样啊,做成前后端分离不就完了么?
|
9
xuanbg 117 天前
你的客户端难道不是替代 JS 前端的么?不会是客户端直连数据库的吧???
|
10
Skifary 117 天前
CS 分层分模块也一样
|
11
tool2dx 117 天前
客户端可以啊,每人负责一个 dll 模块,整体运行起来只需要调用接口,不需要源代码。每个人的 git 权限隔离。
|
13
nice2cu 117 天前
分模块 jar 包模式引入,只能看别人的代码 不能改
|
14
GeekGao 117 天前
不同的库、不同的权限
共同的 CI/CD (管理员能拿到所有权限) 自动打包,然后进行测试 |
15
sampeng 117 天前
防君子不防小人。否则,so 出模块。也没什么好的办法
|
16
sampeng 117 天前
但说实话吧,代码真的有这么重要么?除了真正算法累的。普通 crud ,功能页面类的。有源码又怎么样,重要的是市场模型吧
|
17
importmeta 117 天前
建议做好保密协议,知识产权,专利,因为防不住。
|
18
HangoX 117 天前
cs 程序吗? git 做这个有点难的,需要用 subtree ,或者直接通过 nexus 提供不同的底层包
|
19
janus77 117 天前
前端后端数据库本来就是不同的项目啊,是各自打包最后产物也是各自的,你这客户端凭什么要分开啊,我不理解,仅仅是为了安全?前端后端分离开也不是为了安全才分开的啊
|
20
dandycheung 117 天前 via Android
改用 SVN 。
|
21
realJamespond 117 天前
微前端分几个库即可
|
22
glcolof 117 天前 1
网游作为一种特殊的客户端程序,很多公司是这么管理的:
首先是前后端分离,使用 SVN 给客户端和服务器的开发人员不同的权限。 同时全员内网开发,电脑不能访问互联网,需要查询资料的时候有单独的电脑。要下载资料的时候,需要转发给专门的人员,由该人员从外网复制到内网。 机箱加封闭外壳,不能插 U 盘什么的。 系统内安装加密软件,对硬盘数据加密,发给第三方的时候需要提交解密申请,层层审批之后才能解密。 屏幕自带数字水印,截图和拍照都会留下记录。 所有员工签署保密协议,违反协议会有严厉的惩罚。 |
24
supermama OP @dandycheung 用了几年了,再也不想用 svn 了。
|