Il significato di 'namespace completamente percorribili' in JavaScript

2

Durante la ricerca sull'architettura delle applicazioni a pagina singola, mi sono imbattuto nella seguente risorsa di Mikito Takada, scritta nel 2013: link

Nella sua introduzione distingue tra architecture (parti concettuali dell'applicazione che includono la vista e il modello) e asset packaging (come l'applicazione è divisa in file e moduli) . Nel contesto della discussione sul packaging degli asset, egli menziona namespace pienamente percorribili come esempio di cattiva pratica di packaging.

Direi che questa frase descrive una situazione in cui tutto il codice può accedere a tutto il codice. Tuttavia, menziona anche separatamente codice globale e nomi globali come esempi di cattiva pratica, lasciandomi in difficoltà a distinguere tra codice globale e spazi dei nomi completamente percorribili.

Qualcuno dovrebbe essere così gentile da definire cosa si intende per uno spazio dei nomi completamente percorribile o in genere correggere la mia comprensione di questi termini?

Grazie

    
posta James Izzard 15.02.2015 - 15:17
fonte

1 risposta

1

Dalla lettura del lavoro citato penso che tu abbia ragione nell'assumere che l'authour si riferisca ai namespace globali come cattiva pratica e stiano usando spazi dei nomi completamente percorribili come esempio di qualcosa che non dovresti fare come è nella colonna "Disordinato e random".

Non ho mai sentito questo termine prima e il libro non specifica esattamente cosa dovrebbe significare.

Direi che il punto che stanno cercando di fare è che puoi ottenere tutti gli aspetti del programma, delle funzioni e delle variabili di un oggetto e del suo oggetto prototipo da qualsiasi altra parte. In Java esiste l'idea dei modificatori di accesso con modificatori pubblici, privati, protetti da pacchetti e protetti che limitano l'accesso del modulo ad altre parti del programma. Javascript non gestisce l'accesso in questo modo.

L'authour afferma che utilizzando l'oggetto globale Javascript "Ogni pezzo di codice è reso globale per impostazione predefinita" e contrasta con "I dettagli di implementazione sono inaccessibili al di fuori del pacchetto". Credo che questo sia un po 'fuorviante in quanto le funzioni di Javacsript forniscono un nuovo ambito e non espongono "ogni pezzo di codice".

Javascript utilizza la sintassi del blocco, ma a differenza di altri linguaggi che racchiudono blocchi di codice all'interno di parentesi graffe, Javascript non limita l'ambito all'interno di queste sezioni. Il consiglio generico di dichiarare le variabili il più vicino possibile al codice che lo userà diventa un problema in Javascript. È possibile limitare l'ambito all'interno di funzioni e moduli Javascript.

Il punto principale che l'authour sta cercando di fare è buono; quando usi Javascript fai attenzione a capire in che portata si trovano le tue variabili, e partizionare il tuo codice in unità sensibili è una buona idea di leggibilità / manutenibilità.

    
risposta data 15.02.2015 - 15:57
fonte

Leggi altre domande sui tag