AbsaOSS / AbsaOSS/pramen

Calculate and log stability metric for each operation

未关闭
#337 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
enhancement Pramen-Scala
主要语言
Scala
星标
31
派生
4
平均合并
1 天 10 分钟
30 天内合并 PR
4

描述

## Background
Stability metric is computed based on the number of input and output dependencies:
![Screenshot 2024-01-11 at 10 32 42](https://github.com/AbsaOSS/pramen/assets/4082463/5fcb719b-fb60-4d73-b0ce-73382f86d6db)
- `I` - number of input dependencies - the number of operations the selected operation depends on.
- `O` - output of dependencies - the number of operations the selected operation depends on.
- `S` - stability metric, where `0` maximum unstable (can be changed without affecting other components, and close to `1` is maximum stable, e.g. is harder to change since many other operations depend on it.

Once stability metrics are calculated, we can check if stable components depend on unstable components and give a note about it.

More on the topic: https://ericbackhage.net/clean-code/the-stable-dependencies-principle/
and https://medium.com/@endika_iglesias/how-to-calculate-the-stability-of-a-component-957bb66af3f7

## Feature
Calculate and log stability metric for each operation.

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。