项目篇-2021春招准备
通信软件系统的微服务架构提升
1、可维护性
原因: 据调查显示,超过 50%的软件成本用于软件的维护,因此提高可维护性可以在很大程度上降低软件成本并提高软件的可用性。对可维护性 进行有效评估有助于开发人员估算软件开发及维护的成本,以便于决定对软件组件的重用,修改或重新开发。
示例指标:
- 大小:
- 微服务接口数量
- 代码行数
- 微服务组成元素数量
- 内聚:
- 微服务接口数据内聚性: 通过度量其微服务公开的接口中所传入的参数的相似度来量化给定微服务的内聚性
- 耦合:
- 微服务内部元素耦合:计算的是微服务内部各个模块之间的依赖关系的总和,依赖关系包括传入和传出
- 复杂度:
- 微服务元素相互连通数量: 对于每个微服务我们可以将其组成的模块及依赖关系构建成一个有向无环图,𝐌𝐒𝐄𝐂𝐏𝐂计算的是这个图中所有点通过直接或间接依赖所能连通到其他点的总数,总数越多代表可能出现的数据流向越多, 修改时所影响的模块越多,微服务就越复杂
- 微服务数据结构数量: 数据结构和微服务所实现的功能直接相关。
焦点小组选择标准:
2、架构恢复
3、架构异味
原因:Software House的调研指出全世界的软件开发人员似乎对构建微服务感到满意。另一方面,对于许多微服务开发人员来说,维护和调试似乎有点问题。在过去的2或3年中,越来越多的开发团队对基于微服务的项目失去了控制。开发过程中引入了越来越多的架构异味。
微服务架构抽象概览:
示例指标:
- 环依赖
- 枢纽型依赖
- 模块冲突
- 未使用接口
- 模糊接口
焦点小组选择标准:
基于软件过程的代码评审质量评估
1、调研
2、评审质量
3、意见质量
本项目建立的评审意见质量评估体系考虑维度分别是:
- 情感倾向;
- 指出问题;
- 传授知识。
具体地,每个质量维度的评估标准和典型案例如下:
优秀:有效指出问题AND非消极情感AND传播背景/经验/知识
良好:有效指出问题AND非消极情感AND未传播背景/经验/知识
一般:(有效指出问题AND消极情感) OR (仅提出质疑 AND 非消极情感)
较差:(仅提出质疑AND消极情感) OR未有效指出问题
4、最佳实践
项目篇-2021春招准备
https://zhangfuli.github.io/2021/02/16/2021春招准备-项目篇/