Pulisci i principi del codice su jquery [chiuso]

1

Un codice jquery potrebbe essere molto lungo e diventare un codice spaghetti. Potrebbe portare problemi come concatenare funzioni o molte linee per ottenere dati da elementi HTML. Inoltre potrebbe creare un disordine nella base di codice e refactoring potrebbe essere anche un enorme dolore.

In questo scenario, non so come mantenere i principi di base del codice pulito in jquery - come se avesse molte funzioni a poche righe come possibile e intitolato con nomi propri; funzioni separate in livelli come livelli aziendali, livelli dati, livelli entità, ecc.

Mi è stato consigliato di guardare angular.js come framework che potrebbe aiutare nell'organizzazione del codice jquery. Cosa ne pensi?

    
posta Delmonte 14.04.2015 - 19:31
fonte

2 risposte

1

So di cosa stai parlando e ho affrontato lo stesso problema in cui le funzioni di concatenamento, il recupero di dati da elementi HTML ecc. crea un disordine nella base di codice e il refactoring potrebbe anche essere un enorme dolore.

Anche se utilizzi framework MVC ma non organizzi correttamente il codice, ti ritroverai comunque con una base di codice disordinata.

Quello che ho usato per me stesso che ha funzionato in pratica è scrivere il tuo codice jQuery in formato plugin. In questo modo, rendendolo riutilizzabile per altri progetti, se necessario, riducendo la duplicazione del codice, costringendoti a incapsulare i cambiamenti e soprattutto diventa aperto per estensione ma chiuso per la modifica, quindi tutte quelle ottime pratiche che costituiscono una base di codice pulita.

(function($){
    var PluginName = function(element)
    {
        var elem = $(element);
        var obj = this;

        var settings = $.extend({
            someSetting: "someValue"
        });

        this.func1 = function(someArgument)
        {
            some code
        };

        this.func2 = function()
        {
            some more code
        };
    };

    $.fn.pluginName= function()
    {
        return this.each(function()
        {
            var element = $(this);
            if (element.data('pluginName')) return;
            var pluginName = new PluginName(this);
            element.data('pluginName', pluginName);
        });
    };
})(jQuery);

Quindi una volta che hai tutto il tuo codice in un posto che rappresenta una responsabilità (SRP) puoi andare avanti e usarlo in questo modo:

       jQuery(this).pluginName();
       var pluginName = jQuery(this).data('pluginName');

       pluginName.func1(someArgument);
    
risposta data 14.04.2015 - 20:19
fonte
1

Non c'è motivo per cui non sia possibile applicare principi di codice pulito a Javascript. Hai solo bisogno di farlo. Ci sono metriche del codice che puoi usare come link ma esiste un'arma a doppio taglio.

Costruisci la tua base di codice, ASCIUGA il tuo codice, applica SRP. Javascript non è diverso da qualsiasi altra lingua.

Si applicano le normali regole del pollice come "Se devi copiare e incollare facendo qualcosa di sbagliato"

La cosa più importante con Javascript sono le funzioni anonime. Assicurati che il tuo DRY sia il tuo codice JS e il resto si prenderà cura di te.

    
risposta data 15.04.2015 - 01:33
fonte

Leggi altre domande sui tag