公司原想做产品,然,客户个性需求无法拒绝,导致软件越来越肿
现状
-
所有项目都是内网,客户提供服务器
-
客户需求个性化太强,无法做成产品
-
所有的项目,都是一套程序,通过配置菜单的方式展现软件内容
-
为项目A修改需求时,一定要增加配置参数,以使别的项目不会被修改,参数越来越多
-
其他项目一升级程序,噼里啪啦报错(一般是数据库表结构版本没跟上)
-
没有像样的软件测试
眼前的问题
-
现在发一个程序包,已经200M,压缩一下,70M ,遇到客户网络不好时,简直是灾难
-
升级后,功能反应变慢,客户投拆
比如客户A,打电话说,这个功能,升级以前很快,升级以后慢好多,为什么? 原因是同一个功能,其他项目增加了业务,被动地就受了影响
-
不太敢升级那些很久之前部署的项目
比如客户B,上次升级时,是2014年,已经3年没升级了,但程序升级的方式是`获取最新代码直接发布`的 如果要升级,简直是灾难 1.数据库表结构要升级到最新 2.还不敢保证某些功能的逻辑是不是原来的
未经实践的想法
用 GIT 的分支处理
- 一个
master
分支 管理基础功能代码,如果不适合公开代码,就放类库文件 - 一个
basic
分支 基础版本
假如现在有一个新项目M,合同为基础版,则在服务端的basic
分支上拉一个新分支为:PROJ_M 往后处理项目M需求时,就在这个分支上处理,服务器的分支不准删除