linter

I linter sono una categoria di software che aiutano il programmatore durante la scrittura del codice in un editor IDE, migliorando l’estetica e correggendo immediatamente degli errori.

Nei linguaggi compilati, è il compilatore a produrre errori.

Nei linguaggi interpretati, invece, si dovrebbe mandare direttamente l’intero programma in esecuzione.

Vedere anche code action

Vedere anche prettier

 

 

variabili locali

La differenza tra variabili locali e variabili globali consiste in questo:

le variabili locali sono visibili e utilizzabili solo all’interno di una parte del codice sorgente, come all’interno di una funzione;

le variabili globali sono visibili e utilizzabili in qualsiasi parte del codice sorgente, sia all’interno che all’esterno di una funzione.

code action

Un editor IDE potrebbe eseguire azioni che aiutano il programmatore. Queste azioni sono dette editor features, code action oppure source action.

Per questo sono nati i server LSP che comunicano con il nostro editor mentre stiamo scrivendo.

Vediamo alcuni esempi di queste features:

  • documentation for flad on hover (premere ctrl sopra una parola)
  • go-to-definition (references) con il menù contestuale
  • code refactoring
  • find reference (trovare la definizione)
  • workspace symbols
  • automatic sygnature suggestions (elenco dei parametri attesi, mentre si scrive la parentesi tonda)
  • continuous hinting (suggerisce come continuare il codice dopo il punto)
  • Linting / Error Checking
  • Formatting (indentazione)
  • IntelliSense (intelligenza artificiale?)
  • Debugging

JSX

JSX è un’estensione del linguaggio JavaScript utile per utilizzare una sintassi simile al linguaggio XML.

Permette di esprimere gli elementi dell’albero DOM in modo semplice, come in questo esempio:

const App = () => {
   return (
     <div>
       <p>Header</p>
       <p>Content</p>
       <p>Footer</p>
     </div>
   ); 
}

 

 

polyfill

Un polyfill è un pezzo di codice (di solito JavaScript) che è usato per fornire una moderna funzionalità del moderno Javascript anche a quei vecchi browser che non la supportano nativamente.

moduli

Il programma in JavaScript si può dividere in moduli indipendenti, tuttavia NodeJS usa dei moduli (detti di tipo CommonJS) di tipo diverso da quelli usati dal browser (detti di tipo ES6)

hoisted

Nel codice sorgente, in JavaScript, alcune volte è indifferente scrivere in alto oppure in basso.

Ad esempio, alcuni tipi di definizioni (alcune variabili e alcune funzioni) sono interpretate come se il programmatore le avesse scritte in alto (anche se in realtà sono state scritte in un altra posizione).

Hoisted vuol dire proprio sollevamento in alto.

ELPA

Emacs è un software libero per programmatori. Per aggiungere specifiche modalità di funzionamento questo programma si collega ad un repository GNU ELPA (GNU Emacs Lisp Package Archive) da dove scarica e installa mode. Oltre ai repository ufficiali ve ne sono altri, ad esempio: MELPA (Milkypostman’s Emacs Lisp Package Archive) 

template

In campo informatico questo termine ha molti significati leggermente diversi.

Si tratta di un modello uguale per tutti, da cui si può iniziare a lavorare per ottenere il proprio prodotto. Grazie alla disponibilità di questi template, il lavoro può saltare le fasi preparatorie iniziali.

Ad esempio, il falegname, invece di andare nel bosco per tagliare un albero, che deve essere tagliato e preparato, può acquistare dei pezzi già segati e stagionati.

Anche per React Native esistono dei progetti già pronti, per evitare di partire da una cartella vuota e tali progetti di partenza sono detti anche boilerplate solution

flow

flow è scritto in JavaScript, pubblicato da Facebook, con licenza libera (MIT).

Permette di aggiungere annotazioni nel codice sorgente per controllare i tipi di dato in Javascript.

Al momento della compilazione, dopo il controllo dei tipi di dato, questi tipi devono essere rimossi dal Javascript.

La rimozione avviene automaticamente grazie a babel.

Vedere anche [yadawiki link=TypeScript]