经常性的业务变更,你们怎么管理的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在答技术问题时复制粘贴 AI 生成的内容
firhome
V2EX    程序员

经常性的业务变更,你们怎么管理的?

  •  
  •   firhome 2019-04-24 17:35:47 +08:00 3154 次点击
    这是一个创建于 2366 天前的主题,其中的信息可能已经有所发展或是发生改变。
    是这样的,代码里经常会出现业务更改 如一些活动规则,针对不同公司的特殊业务阿。等等

    久而久之这样的代码越来越多,过一段时间不用了(注释),现在可能用不到,下一年可能又要用到。 时间再长 累积起来 产品人员都搞不清这里的逻辑。

    请问各位是怎么管理的? 删除? 注释?
    11 条回复    2019-04-25 10:40:03 +08:00
    815979670
        1
    815979670  
       2019-04-24 17:40:36 +08:00
    我没有写过这类项目,给个建议把 试试插件化开发,不同的公司 不同的业务做不同的插件 类似于 wordpress 一个基础 cms 通过插件可以实现各种功能 插件互相独立 很灵活 ThinkCMF 也是这种做法
    Earl
        2
    Earl  
       2019-04-24 17:50:27 +08:00
    把不变的做成公用模块,会变的都抽出来成独立模块。甚至直接做成可配置的。
    rb6221
        3
    rb6221  
       2019-04-24 17:53:44 +08:00
    自己抽成模块框架,针对不同公司的话可能的话直接做成多个单独项目,不可能就分成多个依赖包来实现。只需要升级一下依赖包版本就行
    lpdswing
        4
    lpdswing  
       2019-04-24 17:57:39 +08:00
    可怕的时候什么是变的什么是不变的你都不知道
    EasyProgramming
        5
    EasyProgramming  
       2019-04-24 18:00:41 +08:00
    先按功能分类,然后对每类抽象一个统一模型,之后按照统一模型来写业务代码,怎么样?
    prasanta
        6
    prasanta  
       2019-04-24 18:42:53 +08:00 via Android
    规则引擎
    100knights
        7
    100knights  
       2019-04-24 18:58:33 +08:00
    既然会周期用都, 抽象融到系统里. 短时间用不到的, 删了吧, 再用的时候逻辑是否正确都不知道了, 可能重写更快.
    aldorado
        8
    aldorado  
       2019-04-24 19:01:42 +08:00
    @prasanta 有什么推荐的规则引擎吗
    prasanta
        9
    prasanta  
       2019-04-24 19:06:11 +08:00 via Android
    drools 或者 urule
    zjsxwc
        10
    zjsxwc  
       2019-04-24 19:27:09 +08:00 via Android
    提供脚本让运营自定义
    Justin13
        11
    Justin13  
       2019-04-25 10:40:03 +08:00 via Android
    插件化,统一接口。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     896 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 20:47 PVG 04:47 LAX 13:47 JFK 16:47
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86