Faire la fonction de calcul d'impact pour une réunion
Attendre que #9 (closed) et #24 (closed) soient faites
-
Supprimer la classe DistributedDamage -
Renommer la classe ComponentDamage en Damage -
Créer une classe CategoryDamage : elle contient un attribut category, un tableau de Damage et un attribut damage correspondant à la somme des éléments du tableau (ici, on peut éventuellement créer un constructeur de ComponentDamage prenant un tableau en paramètre) -
Modifier la classe MeetingDamage : Son constructeur reçoit en paramètres un transportDamage de type CategoryDamage, un hardwareDamage de type CategoryDamage, et un softwareDamage de type CategoryDamage. Dans le constructeur, on instancie un attribut damage qui est la somme des Damage des trois CategoryDamage. -
Faire une fonction format dans MeetingDamage qui appelle une fonction normaliseDamages() pour renvoyer un résultat affichable par le front :déplacé dans #12 (closed) -
Faire une fonction normalizeDamages dans le dossier utils à la racine du projet, qui prend en paramètres un nombre n de valeurs d'impact, met la plus grande à 100 et ajuste les autres. -
Ajouter un attribut de type MeetingDamage à la classe MeetingSceanrio -
Créer une fonction computeDamage dans la classe MeetingDamage qui initialise son attribut de MeetingDamage
EDIT : refacto de certaines classes
-
MeetingScenario :
class MeetingScenario extends Scenario {
constructor({user, duration, payload}) {
// user
// duration
this._damage = new MeetingDamage(payload)
}
}
-
MeeetingDamage :
class MeetingDamage {
constructor({ hardware: [], software: [], journeys: [] }) {
this._hardwareDamage = new CategoryDamage('hardware', hardware)
// pareil pour les deux autres
this._total = <somme des totaux des trois CategoryDamage>
}
}
-
CategoryDamage :
class CategoryDamage {
constructor({ category, componentsParameters[] }) {
// category
// attribut components est une HashMap <id, Component>
// total calculé avec la fonction utilitaire
}
}
-
computeDamageFromComponents(Component[])Plus de besoin d'une telle fonction, les damage totaux sont calculés par itéraion sur un hashmap danscomputeDamage()
deCategoryDamage
Edited by Valentin Le Gauche