I want you to give me some tips on what I could have done better and is considered bad practice. The code works, but I think there are better ways to do stuff, so please let me know.var Artikel = Backbone.Model.extend({    urlRoot: 'api/items.json',    defaults: {        titel: 'Titel niet opgegeven',        url_titel: 'unieke sleutel urltitel',        img_path: 'geen image toegevoegd',        commentaar: 'Commentaar niet opgegeven',        categorie: 'Categorie niet opgegeven',        waardering: 0,        artikel: 'Artikel niet opgegeven'    },    initialize: function() {        if (!this.get('description')) {            var lazy = 'This user was too lazy too add a description';            this.set('description', lazy);        }    }});//Mijn collection wordt voorzien van een sorteerfunctie om niet met 'asc' en 'desc' te moeten werken kan ik gebruik maken van 1 en -1var Artikels = Backbone.Collection.extend({    model: Artikel,    sortAttribute: categorie,    sortDirection: 1,    sortArtikels: function(attr) {        this.sortAttribute = attr;        this.sort();    },    comparator: function(a, b) {        var a = a.get(this.sortAttribute),            b = b.get(this.sortAttribute);        if (a == b) return 0;        if (this.sortDirection == 1) {            return a > b ? 1 : -1;        } else {            return a < b ? 1 : -1;        }    },    url: 'api/items.json'});//Eerste view dat wordt weergegeven en geeft een lijst van al de artikels.var ArtikelLijst = Backbone.View.extend({    el: '#app',    initialize: function() {        _.bindAll(this, render);        this.model.bind('change', this.render);    },    render: function(zoekterm) {        this.render;        var that = this;        artikels.fetch({            success: function(artikels) {                if (artikels.sortDirection == -1) {                    artikels.sortDirection = 1;                } else {                    artikels.sortDirection = -1;                }                artikels.sortArtikels(zoekterm);                var template = _.template($('#artikel-overzicht-template').html(), {                    artikels: artikels.models                });                that.$el.html(template);                return this;            }        });    }});//Geeft een detail view van de artikels, in de detailweergave wordt de foto bijvoorbeeld weergegeven als extraatjevar ArtikelDetail = Backbone.View.extend({    el: '#app',    render: function(options) {        var that = this;        var artikel = new Artikels();        url = options.id;        artikel.fetch({            success: function(artikel, options) {                var vindartikel = artikel.where({                    url_titel: url                });                var artikelcol = Backbone.Collection.extend({                    model: Artikels                });                var specifiekArtikel = new artikelcol(vindartikel);                var template = _.template($('#detail-edit-template').html(), {                    specifiekArtikel: specifiekArtikel.models                });                that.$el.html(template);            }        });    }});// de searchview geeft een formulier en zorgt er voor dat de zoekopdracht url-vriendelijk wordtvar ArtikelSearchView = Backbone.View.extend({    el: '#app',    render: function() {        this.$el.html($(#search-form).html());        if (arguments.length > 0) {            var querystr = arguments[0].replace(/\+/g, %20);            $(#searchQuery).val(decodeURIComponent(querystr));        }    },    events: {        'submit #searchForm': function(ev) {            $form = $(ev.currentTarget);            document.location = '#/search/' + encodeURIComponent($(#searchQuery, $form).val()).replace(/%20/g, '+');            return false;        }    }});//De resultsview laat de gevonden resultaten zienvar ArtikelSearchResultsView = Backbone.View.extend({    el: '#searchResults',    render: function(query_encoded) {        var query = decodeURIComponent(query_encoded.replace(/\+/g, %20));        var result_artikels = _.filter(this.model.models, function(artikel_model) {            var artikel = artikel_model.attributes;            artikel.waardering = string;            for (var key in artikel) {                if (artikel[key].toLowerCase().indexOf(query.toLowerCase()) >= 0) {                    return true;                }            }            return false;        });        var template = $(#search-results).html();        var result_html = _.template(template, {            artikels: result_artikels,            query: query        });        this.$el.html(result_html);    }});var artikels = new Artikels();var artikelLijst = new ArtikelLijst({    model: Artikels});var artikelDetail = new ArtikelDetail();var artikelSearchView = {};artikelSearchView.search = new ArtikelSearchView();function sorteer(sortterm) {    artikelLijst.render(sortterm);};var Router = Backbone.Router.extend({    routes: {        : home,        detail/:id: detail,        searchform: searchform,        search/:query: searchResults    },    home: function() {        artikelLijst.render('titel');    },    detail: function(id) {        artikelDetail.render({            id: id        });    },    searchform: function() {        artikelSearchView.search.render();    },    searchResults: function(query) {        artikelSearchView.search.render(query);        var artikelSearchResultsView = new ArtikelSearchResultsView({            model: artikels        });        artikelSearchResultsView.render(query);    }});var router = new Router();Backbone.history.start();
Managing article information
javascript;backbone.js