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 摘要。