Domanda

Con i nuovi modi di scrivere CFC in CF9, quali sono alcune delle convenzioni di codifica nuove in CF9?

Eccone alcuni che mi vengono in mente...

È stato utile?

Soluzione

  

Non abbiamo ancora bisogno di impostare l'attributo di output = false per componenti e funzioni in CFC stile sceneggiatura?

Non ci penserei così. <cfscript> per sua natura sopprime eventuali spazi vuoti e deve writeOutput() per avere qualsiasi uscita affatto.

Altri suggerimenti

Il tuo metodo init() non deve restituire l'ambito "this" se lo chiami utilizzando la sintassi "new my.cfc()".Storia vera.

Se sei all'interno di un cfc e vuoi impostare una proprietà, non usare this.setFoo(), vai semplicemente setFoo().Lo stesso vale per getFoo().this.xxx() è come uscire dalla porta principale solo per rientrare.Inoltre, i tuoi getter e setter personalizzati access=private non funzioneranno poiché le funzioni non rientreranno in questo ambito.

"var foo" vs "local.foo" - personalmente, preferisco le variabili var perché c'è a) meno codice da digitare e b) meno codice da leggere.

// there isnt a huge difference here
var today = now();
var tomorrow = dateAdd( 'd', 1, today );
local.today = now();
local.tomorrow = dateAdd( 'd', 1, local.today );

// but when you start getting more complex examples, it quickly blows out
var out = method( var1, var2, var3, var4, var5 );
local.out = method( local.var1, local.var2, local.var3, local.var4, local.var5 );

Utilizza i commenti in stile Javadoc.La documentazione è tua amica.

/**
* @hint This is a hint for the whole function
* @arg1 This is an argument hint
* @arg2 This is another argument hint
**/
public void function myFunction( string arg1 = 'default', boolean arg2 ) {
    return true;
}

tutte le funzioni che alterano i dati dovrebbero restituire un certo valore, anche se si tratta di un valore booleano che è attualmente sempre vero. Le funzioni hanno un modo di fine dover restituire false

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top