AbsaOSS / AbsaOSS/pramen

Calculate and log stability metric for each operation

Aperta
#337 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
enhancement Pramen-Scala
Lingua principale
Scala
Stelle
31
Fork
4
Merge medio
1g 10m
PR unite (30g)
4

Descrizione

## 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.