11485 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je chercherais quelqu'un qui s'y connait un peu en classes javascript qui pourrait critiquer mon code/mes commentaires! (je viens d'apprendre les classes en js)
Bonne soirée

/**
 * convert a csv text content to a json array
 * each line have to end using \n
 */
class csv_to_json {

    /**
     * @param {string} csv         csv file content
     * @param {string} separator   csv separator
     * 
     */
    constructor(csv, separator = ';') {
        this.csv = csv;
        this.separator = separator;
    }
    
    /**
     * @returns {array} all keys of the csv content
     */
    csv_keys() {
        return this.csv.split('\n')[0].split(this.separator);
    }

    /**
     * @returns {array} each csv lines
     * @access private
     */
    csv_content() {
        return this.csv.split('\n').slice(1);
    }

    /**
     * @returns {array} the final array for the csv
     * @see csv_keys()
     * @see csv_content()
     */
    convert_json() {
        let arr = [];
        for(let e = 0; e < this.csv_content().length; e++) {
            let line = this.csv_content()[e].split(this.separator);
            arr.push({});
            for(let i = 0; i < line.length; i++) {
                if(typeof this.csv_keys()[i] != 'undefined') {
                    arr[e][this.csv_keys()[i].replace(' ', '')] = line[i];
                }
            }
        }
        return arr;
    }

}


/**
 * this is a csv file content example respecting csv_to_json rules
 */

let csv = "Prenom,Nom,Email,Age,Ville\n Robert,Lepingre,bobby@exemple.com,41,Paris\n Jeanne,Ducoux,jeanne@exemple.com,32,Marseille\n Pierre,Lenfant,pierre@exemple.com,23,Rennes";

Modifié par vzytoi (08 Apr 2021 - 00:42)
Modérateur
Et l'eau,

une class = un rôle !

Donc, tu es dans le mur !
Les problèmes de ta class :
- Ta class = 2 rôles
- polyphormisme inexistant (entre les class puisqu'au minimum, je vois 2 class + 1 pour l'exécution du code métier)
Ta class n'est pas SOLID (....)
ps : Comme je t'ai dit, tu devrais lire le bouquin que je t'ai indiqué Smiley cligne
Modifié par niuxe (08 Apr 2021 - 13:43)