Gli standard di scrittura del codice di jQuery

Gli standard di scrittura del codice di jQuery

Gli standard per la scrittura del codice jQuery sono vincolanti solo nel caso in cui vogliate contribuire alla libreria o ad uno dei suoi progetti paralleli. Non lo sono invece in tutti gli altri casi ad eccezione della pubblicazione di plugin nella repository ufficiale. Si tratta di standard in alcuni casi incompatibili con molti altri framework ma estremamente interessanti come tentativo di arginare il caos esistente tra gli sviluppatori.

Spaziatura

jQuery prevede, come WordPress, una spaziatura ben definita nei blocchi di istruzione e nei costrutti:


$( element ).plugin( options );

if( $.fn.plugin.defaults.auto ) {
	$( element ).plugin.run( true );
}

Anche gli array seguono questa regola:


var arr = [ 1, 2, 3 ];

Virgolette

jQuery preferisce le virgolette doppie alle singole (lo standard di Google il contrario):


$( "#test" ).on( "click", function( e ) {
	e.preventDefault();
	var text = "Site " + location.host;
	$( this ).text( text );
});

Nomi di funzioni, variabili, proprietà, metodi e oggetti

I nomi di funzioni, variabili, proprietà e metodi seguono la notazione camel-case. Quindi myMethod() è corretto, mentre my_method() non lo è.

Gli oggetti vogliono la prima lettera in maiuscolo.

Assegnazioni di variabili

Ciascuna assegnazione va su una riga a parte. Le variabili senza assegnazione vanno poste all'inizio di una lista di assegnazioni:


var a, b, c,
	foo = false,
	bar = true;

Uguaglianza

=== va preferito a ==. L'unica eccezione è per undefined e null.

Verifica sui tipi di dati

  • Stringa: typeof object === "string"
  • Numero: typeof object === "number"
  • Booleano: typeof object === "boolean"
  • Oggetto: typeof object === "object"
  • Oggetto semplice: jQuery.isPlainObject( object )
  • Funzione: jQuery.isFunction( object )
  • Array: jQuery.isArray( object )
  • Elemento: object.nodeType
  • null: object === null
  • null o undefined: object == null
  • undefined:
    • Variabili globali: typeof variable === "undefined"
    • Variabili locali: variable === undefined
    • Proprietà: object.prop === undefined
Torna su