概述
由于 Semo
几乎不提供任何直接的好处,所以有必要详细介绍一下如果利用好 Semo
,从设计的初衷来说。Semo
被设计用来提高企业级项目开发工作的效率,那么只要有什么地方可以通过代码解决的,都是 Semo
的用武之地。
从项目阶段划分
根据项目所处的阶段,Semo
可以在各个阶段发挥作用:
- 立项阶段:可以快速初始化项目
- 开发阶段:通过快速访问核心方法,验证方法的输入输出,封装基础设施,减少重复造轮子的情况
- 维护阶段:项目进入维护阶段,需要写大量的管理命令或者运维脚本
- 线上排查问题:线上出了BUG,但是只有线上能够重现,通过
REPL
可以一步步接近真相 - 线上运维:利用实现写好的脚本和命令,轻松解决需求方提出的各种要求,提高跨部门间的信任
从形式上划分
Semo
充分考虑各种使用场景,不同的场景发挥的作用也不同:
- 开发插件:不同的插件功能不同,但代码风格一致
- 项目整合:为项目提供命令行基础设施,如果配合其他插件,甚至整个项目都可以基于
Semo
构建 - 解决方案:为各种业务场景提供脚手架,沉淀最佳实践,提高新项目的启动速度
- 发行版:基于解决方案进一步整合而成,构建完整可用的产品,从而产生商业价值
这里的划分方法不绝对,也没有哪个场景必须由 Semo
来解决,甚至,任何遇到的问题都有无数的解决方案,Semo
存在的目的是提供一致性,使得我们减少重复建设,提高沟通效率,沉淀最佳实践,不断夯实企业技术实力。