Recentemente spostato da Java a JavaScript su Node.js, come mantenere il codice?

-2

Recentemente sono passato da Java a JavaScript su Node.js. Ero molto eccitato, ho aperto il mio IDE IntelliJ per un progetto Node.js esistente solo per scoprire che non posso sapere quali sono i parametri che vedo ricevere effettivamente le funzioni tranne i loro nomi (in java potrei cliccare sul tipo di parametro e vedere di cosa si tratta ..), nella maggior parte dei casi non posso usare Ctrl-Alt-H per mostrare la gerarchia delle chiamate, e mi sono ritrovato a fare ricerche testuali ovunque perdendo la maggior parte del mio tempo su un progetto esistente, in Java ho potuto navigare facilmente con l'aiuto dell'IDE e trovare quasi tutto quello che voglio scoprire sul codebase in pochi secondi, quindi probabilmente in Java c'era più "cerimonia" e scrivere il codice richiedeva più tempo, ma ora quando voglio per mantenerlo potrei farlo in pochi secondi e trovarmi la strada in pochi secondi.

È possibile mantenere una grande base di codice in JavaScript per il codice che non hai scritto?

Sono davvero impaurito ora questo è quello che farò al 100% del mio tempo, mantenendo i progetti Node.js, aiutandomi ad uscire dalla semplice ricerca di testo che spreca la maggior parte del mio tempo nel tentativo di scoprire il scorre all'interno del progetto JavaScript.

Non è il codice che ho scritto, sto cercando di mantenere il codice degli altri ed è super estremamente difficile da capire i flussi. (in Java ho potuto facilmente trovare i flussi con l'aiuto dell'IDE)

    
posta Jas 17.06.2016 - 08:56
fonte

1 risposta

2

Se non ti dispiace ricompilare il codice, ti consiglio di dare un'occhiata a TypeScript , sviluppato da Microsoft. Ha una sintassi simile a C # ed è un supertipo a puro JavaScript, a cui TypeScript compila.

Oltre a ciò, in combinazione con il moderno JS di molti IDE moderni, ho avuto una grande esperienza con WebStorm by JetBrains ( sebbene sia molto probabile che anche altri IDE lo supportino), analizza JSDoc fornito per le funzioni e fornisci il completamento automatico in base ai tipi di parametri che definito.

class A {
    /**
     * @param {Number} value
     */
    constructor(value) {
        this.value = value;
    }

    increaseValue() {
        ++this.value;
    }

    /**
     * @returns {Number}
     */
    getValue() {
        return this.value;
    }
}

class B {
    /**
     * @param {A} instanceOfA
     */
    constructor(instanceOfA) {
        // both increaseValue and getValue methods are available through
        // auto-completion in WebStorm
        instanceOfA.increaseValue();
        this.value = instanceOfA.getValue();
    }

    /**
     * @returns {Number}
     */
    getValue() {
        return this.value;
    }
}

Ovviamente, questa non è una soluzione infallibile e non ti darà un controllo in fase di compilazione come fa TypeScript, ma è meglio di niente e sicuramente aumenta la leggibilità.

    
risposta data 17.06.2016 - 11:38
fonte

Leggi altre domande sui tag