AbsaOSS / AbsaOSS/pramen

Calculate and log stability metric for each operation

Ouverte
#337 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement Pramen-Scala
Langage dominant
Scala
Étoiles
31
Forks
4
Merge moyen
1 j 10 min
PR mergées (30 j)
4

Description

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

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.