Creare una piccola libreria standalone - La teoria

di: Riccardo Degni     19 Ottobre 2009

Regola #2: commenti

Quando si crea una libreria (in un qualsiasi linguaggio), ciò che non può assolutamente mancare è la documentazione. Nel caso delle librerie Javascript, raramente gli sviluppatori scrivono le documentazioni delle loro API in modo esterno, ma tendono a basarsi sui commenti lasciati nell'applicazione, oppure posizionati in appositi file esterni. Sarà poi compito di particolari engine server-side tramutare il tutto in XHTML comprensibile.

Ciò che interessa a noi, è fare in modo di capire quello che abbiamo scritto nella nostra applicazione, negli utilizzi futuri della stessa. Tutto questo si ottiene grazie alla presenza dei commenti. I commenti non devono assolutamente essere sottovalutati, la loro importanza è notevole.

Per questo motivo, anche nel caso dei commenti, sarà opportuno utilizzare una sintassi comune, oltre che esplicativa ed esaustiva (una buona abitudine è quella di inserire snippet di codice direttamente nei commenti, per esemplificare in modo diretto l'utilizzo delle funzioni o dei metodi). Ecco un esempio di commento ad una funzione Javascript:

/*
	Function Name: setStyle
	
	Description: imposta una proprietà css inline di un elemento ad un determinato valore.
	
	Arguments:
		[DOMElement] element : l'elemento DOM
		[string] style : la proprietà css da impostare
		[string] value : il valore css della suddetta proprietà
		
	Demo:
		setStyle($('myEl'), 'color', 'blue');
*/

function setStyle(element, style, value) {
	// ...
}

Regola #3: modello di programmazione

Come ho scritto nella sezione PHP nell'articolo Codice procedurale vs OOP, non esiste un modello unico di programmazione. Quelli più comuni sono sicuramente il modello procedurale e il modello OOP. È assolutamente sconsigliato mischiare più approcci nel corso della medesima applicazione Javascript: questo porterebbe i seguenti svantaggi:

  • codice complicato da utilizzare per gli sviluppatori e per i possibili clienti della libreria;
  • difficoltà elevata di estensibilità o integrazione con altri componenti della libreria;
  • API non omogenee.

Per chiarire al meglio questo concetto, sempre a titolo esemplificativo, prendiamo ancora una volta in considerazione i framework jQuery e MooTools. Il primo usa un approccio più procedurale e basa tutto sulla centralizzazione del DOM e degli elementi. Il secondo segue decisamente un approccio più Object Oriented, ponendo come parte fondamentale l'uso ed il riuso delle istanze delle classi:

// jQuery code
$('#myEl').animate({color: 'red'}, 2000);

// MooTools code
var fx = new Fx.Morph('myEl', {duration: 2000});
fx.start({color: 'red'});

Il risultato è pressoché il medesimo, entrambi sono altamente estensibili, ma... con un approccio totalmente differente.

È dunque di fondamentale importanza scegliere un modello di programmazione da seguire nel corso di tutta l'applicazione, tra quelli più vicini alle nostre metodologie di programmazione e ai nostri gusti. Nei nostri esempi utilizzeremo una sintassi Object Oriented basata sulle classi, o meglio, su contenitori di metodi.

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti