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

 

 

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

Prettier

Prettier è un software che permette di dare una accurata forma al codice in modo che sia omogeneo secondo un determinato stile di scrittura e di formattazione del testo, regolando alcune cose, come la lunghezza massima delle righe.

Non corregge errori come quelli dell’uso di variabili inutilizzate, come un Linter.

Prettier poteva essere eseguito direttamente nell’editor del codice sorgente (Emacs, vi, ecc.) prima del salvataggio, ma non ho trovato Prettier nel repository ELPA.

L’unico modo di installarlo sembra essere usando npm (sembra essere già installato).

npm i --save-dev prettier
# up to date

Ma poi non si può utilizzare da Emacs.

Vedere anche la nuova Debian testing

apt install elpa-format-all

ESLint

strumento per l’analisi automatica del codice per cercare eventuali problemi di modellazione del codice in JavaScript (compresi JSX e Typescript)