CoddityTeam / movaicode

Concours mensuel du Pire Développeur de France
123 stars 10 forks source link

de l'importance du nommage de variable et des commentaires #252

Open Matthieu-Coddity opened 1 year ago

Matthieu-Coddity commented 1 year ago

Voilà, c'est fait en JS car je déteste ça. Tout est dans le titre. Bon Chance

const matroustache_reelle = [[10,10,10,15,10,12,10,11,10,10],
                                  [9,12,9,9,9,9,10,9,9,9],
                                  [8,8,10,8,9,8,8,8,10,8],
                                  [7,7,7,7,10,7,7,9,8,7],
                                  [6,6,7,9,8,6,6,6,8,6],
                                  [5,5,6,7,8,5,10,9,5,6]]

//taille_de_stache taille une matroustache en effectuant une pondération de la longueur des poils d'une moustache matrice n*m
//la médiane de longueur est utilisée pour calculer la longueur idéale du poil à l'intersection x*y
//la fonction retourne la moustache sous forme d'un tableau d'entier et de string grace à la puissance et la rigueur de javascript
function taille_de_stache(ensemble_de_poils) {
    let matroustache_finale = [] // matroustache retournée
    const longueur_de_poils = ensemble_de_poils.length;
    for (let x=0; x < longueur_de_poils; x++) {
        let colonne_poils = ensemble_de_poils[x]
        let dict = new Object()
        let valeur
        let nombre_de_poil_par_colonne_poils = colonne_poils.length
        //c'est dans cette jointure que j'utilise une chaine de markov
        for (let y=0; y<nombre_de_poil_par_colonne_poils;y++) {
            if(dict.hasOwnProperty(colonne_poils[y])){
                dict[colonne_poils[y]]++
            } else {
                dict[colonne_poils[y]]=1
            }
        }
        let diametre = 0;
        let coefficent_portance_poils = 0;
        //toute la puissance de l'algorithme réside ici, on voit la beauté d'un random forest en action
        for (var longueur in dict) {
            if (dict[longueur]>coefficent_portance_poils) {
                diametre = longueur
                coefficent_portance_poils = dict[longueur]
            }
        }
        //là l'injection de dépendance prend tout son sens et apporte l'évolubilité nécessaire au code
        for(let poil=0; poil<colonne_poils.length;poil++){
            if (colonne_poils[poil]>diametre){
                colonne_poils[poil] = diametre
            } else {
            }
        }
    }
    return ensemble_de_poils
}