Bookmark in IntelliJ – Segnalibri digitali per il nostro codice
Il segnalibro è un oggetto di dimensioni e spessore contenuti che ha un unico importante compito: fare da promemoria in riferimento alla pagina esatta in cui una persona è arrivata nella lettura parziale di un libro.
In questo articolo non vi parlerò del segnalibro nella forma appena descritta ma, da bravo informatico, userò il concetto nella sua essenza eterea ovvero la sua informazione. In particolare vi introdurrò al concetto di segnalibro, o bookmark in inglese, una tra le tante feature disponibili per l’IDE IntelliJ di Jetbrains.
Buona lettura.
Perché si dovrebbero utilizzare i bookmark?
Nella consueta routine lavorativa a un progetto software può capitare di trovarsi nella condizione di utilizzare più frequentemente alcuni file o cartelle rispetto ad altri. L’attività di ricerca di determinate risorse potrebbe risultare un’attività time-consuming se, come spesso accade, dovesse capitare di lavorare per progetti di grandi dimensioni e magari dover gestire porzioni di codice che non si conoscono dettagliatamente.
È proprio in questi casi che i bookmark vengono in soccorso di noi sviluppatori, rendendoci la navigazione più fluida e rapida potendoli utilizzare sui vari oggetti del progetto (file, cartelle, package, moduli e/o classi).
Nell’IDE IntelliJ è implementata una gestione dei bookmark molto efficace e intuitiva, consultabile nella documentazione ufficiale nel capitolo “Source code navigation” dove trovano posto due argomenti a mio avviso personalmente cari a ogni sviluppatore: “Source code hierarchy” e “Source file structure”.
Nel prossimo paragrafo vi dimostrerò l’utilità dei bookmark attraverso due esempi tratti dalla mia esperienza.
Come utilizzare i bookmark? “Keypoint” e “Top, here and bottom”
Keypoint
Vi è mai capitato di dover fare refactoring di una feature o di dover implementare una nuova funzionalità e, per queste attività, di avere bisogno di osservare diversi punti chiave, i keypoint appunto, della codebase che prima o poi sapete di dover modificare?
A me è capitato, e spesso – e purtroppo – capita di concentrarmi così tanto sul punto in cui sto implementando codice che poi mi dimentico degli altri keypoint…ed è proprio in queste occasioni che inizio a inserire i bookmark, possibilmente nella modalità “mnemonic”, in fase di analisi del codice prima ancora di implementare.
Questo utilizzo dei bookmark mi torna ancora più comodo ogni volta che devo interrompere l’attività di sviluppo per partecipare a riunioni o perché finisce la giornata lavorativa, permettendomi la volta successiva di ripartire da un riassunto dei ragionamenti precedentemente affrontati.
Top, here and bottom
Per ogni una nuova feature ci sono due approcci per affrontare lo sviluppo del codice: Top-down o Bottom-up. Nel caso in cui si debba lavorare a del codice esistente invece, spesso mi capita di utilizzare un mix dei due.
Quale che sia la casistica, comunque, sono tre le sezioni di un programma che considero importanti:
- Here, ovvero dove mi trovo ora durante l’implementazione;
- Top: chi usa la sezione di codice che sto implementando;
- Bottom: le porzioni di codice in cui accedo dalla sezione di codice che sto implementando.
Solitamente utilizzo questa logica:
- “mnemonic 5” al punto che ho definito come “Here”;
- da “mnemonic 1” a “mnemonic 4” al codice “Top”;
- da “mnemonic 6” a “mnemonic 9” al codice “Bottom” (nei casi in cui sono a un margine dell’implementazione, semplicemente non uso “Top” o “Bottom”).
L’idea è quella di permettermi di osservare i confini del codice in cui mi trovo al momento per capire se rispetto i contratti e i significati dei dati che vengono passati nel flusso.
Un altro punto chiave di questo utilizzo è che durante l’implementazione “Here” cambia e quindi occorre spostare tutti i bookmark rispettivamente al nuovo punto dell’implementazione.
Conclusioni
Spero che questo breve articolo vi abbia incuriosito e convinto a provare i bookmark per IntelliJ o comunque per l’IDE che solitamente utilizzate.
Vi lascio con questi due articoli molto interessanti:
- “Navigate your code with bookmarks“, pubblicato sul blog di Jetbrains;
- “Using IntelliJ bookmarks“.