核心的研发兄弟离职了、老板要抽研发取其他项目了、交了两年的项目突然说要改一点业务逻辑。每次接到这些消息的时候,内心是这样滴:
一个文件中无比多的代码(作者在20多年的软件开发生涯中,看过茫茫多的研发人员在一个方法中写几千行代码)、无数个类和方法的嵌套、无数的没注释的链式代码、不停的在Service/DAO里面转悠的业务逻辑,接手修改代码(也可能是自己几年前写出来的*山)的兄弟心情是这样滴
痛定思痛,必须找一个工具,让业务逻辑清晰起来(别想着靠产品经理,大多数的项目做到后期的时候,产品经理手上也没有每个业务逻辑的清晰文档),让大家都能改业务逻辑,而且不能改一个Bug造三个Bug出来(虽然这是软件研发团队的常态。。。)。
把各路低代码平台、0代码平台研究了一个遍(各个平台的客服给我打电话,让使用他们的平台_^_),这些平台的目标大多指向减轻研发人员的重复工作量,对后期代码修改、逻辑变更(成本超支的罪魁祸首。。。)支持都比较少,而且随着项目越来越大、越来越后期这种生成的代码往往被改得面目全非(不是生成的业务逻辑支持又不够强大)。
搞了好久,最后选了一个小众的软件开发平台简码,感觉刷的一下对了(只要核心1-2个人留着,其他人随便换。。。)。这个平台的开发理念是把业务逻辑都变成画处置流程图(不是工作流。。。),流程图画完后他们的解释系统直接解析后可以执行了(关键是速度还挺快,没受到实时解析的影响_^_)。总结了一下,他们几个点符合我们的期望,所以就用了:
- 架构新。基于Spring boot的开发架构,满足公司对架构选型的基础要求;
- 入手简单。他们把开发平台SAAS化了(因为安全的要求,我们用的是他们家提供的本地化部署服务,他们给部署到公司的服务器上了。。。),项目要使用只需要通过Maven依赖三个包就够了;
- 干净。新逻辑的开发,基本上可以完全不写Java代码(虽然他们的框架支持Java代码调流程图、流程图执行过程调代码);
- 方便。配套了可视化开发工具,拖拖拽拽就可以搞定代码。代码每一步的逻辑很清楚,对于人员变动后的代码修改很有帮助;
- 可扩展。他们家的业务组件(常见的都有了,最近好像连Kafka都支持了)可以自己随意扩展和定义,不用担心平台能力不够用、不满足自己的技术栈;
最后,截张保存数据模型时的逻辑图🎉🎉🎉🎉