You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated adding the following sections:
JSCS;
Yeoman Generator;
Routing;
Task Automation;
Filters.
Updated as the following PRs: johnpapa#337, johnpapa#338, johnpapa#340
Nota: Puoi inoltre nominare il controller quando lo inietti nella link function e accedi agli attributi della directive come proprietà del controller.
1258
+
1259
+
```javascript
1260
+
// Alternativa all'esempio sopra riportato
1261
+
functionlinkFunc(scope, el, attr, vm) {
1262
+
console.log('LINK: scope.min = %s *** should be undefined', scope.min);
1263
+
console.log('LINK: scope.max = %s *** should be undefined', scope.max);
1264
+
console.log('LINK: vm.min = %s', vm.min);
1265
+
console.log('LINK: vm.max = %s', vm.max);
1266
+
}
1267
+
```
1255
1268
###### [Stile [Y076](#stile-y076)]
1256
1269
1257
1270
- Usa `bindToController =true` quando usi la sintassi `controller as` con una directive al fine di fare il bind tra lo scope esterno e lo scope del controller della directive.
@@ -1976,9 +1989,11 @@ Nonostante questa guida spieghi i *cosa*, *come* e *perché*, trovo che sia di a
1976
1989
### Nomi delle factory
1977
1990
###### [Stile [Y125](#stile-y125)]
1978
1991
1979
-
- Usa una nomenclatura consistente per tutte le factory dando i nomi date le loro funzionalità. Usa il camel-case per service e factory.
1992
+
- Usa una nomenclatura consistente per tutte le factory dando i nomi date le loro funzionalità. Usa il camel-case per service e factory. Evita di pre-nominare factory e service con `$`
1980
1993
1981
1994
*Perché?*: Fornisce un modo consistente per identificare facilmente e referenziare le factory.
1995
+
1996
+
*Perché?*: Evita collisione di nomi con factory e servizi di Angular esistenti che usano il prefisso `$`.
1982
1997
1983
1998
```javascript
1984
1999
/**
@@ -2641,6 +2656,94 @@ Gli unit test aiutano a mantenere il codice più chiaro, perciò ho incluso alcu
2641
2656
2642
2657
**[Torna all'inizio](#tavola-dei-contenuti)**
2643
2658
2659
+
## JSCS
2660
+
2661
+
### Usa un file di opzioni
2662
+
###### [Stile [Y235](#stile-y235)]
2663
+
2664
+
- Usa JSCS per il controllo dello stile del tuo codice JavaScript ed assicurati di personalizzare il file di opzioni JSCS ed includerlo nel source control. Vedi [JSCS docs](http://www.jscs.info) per i dettagli sulle opzioni.
2665
+
2666
+
*Perché?*: Fornisce un iniziale avvertimento prima di fare il commit di qualunque codice al source control.
2667
+
2668
+
*Perché?*: Fornisce consistenza per l'intero team.
- Clicca sulla lampadina nel gutter destro in bracket
2872
+
- Clicca su `Settings` e quindi `Import`
2873
+
- Scegli il file e seleziona per saltare o fare l'override
2874
+
- Clicca `Start Import`
2875
+
2876
+
- In un file di tipo JavaScript digita questi comandi seguiti da un `TAB`
2877
+
2878
+
```javascript
2879
+
// Questi sono snippet interi che contengono una IIFE
2880
+
ngcontroller // crea un controller Angular
2881
+
ngdirective // crea una directive Angular
2882
+
ngfactory // crea una factory Angular
2883
+
ngapp // crea una impostazione di modulo Angular
2884
+
ngservice // crea un service Angular
2885
+
ngfilter // crea un filtro Angular
2886
+
ngroute // crea un routeProvider Angular
2887
+
2888
+
// Questi sono snippet parziali intesi per essere concatenati
2889
+
ngmodule // crea un getter di modulo Angular
2890
+
ngstate // crea una definizione di stato di UI Router Angular
2891
+
ngconfig // definisce un funzione per la fase di cofigurazione
2892
+
ngrun // definisce una funzione per la fase di esecuzione
2893
+
ngwhen // definisce una route per il routeProvider
2894
+
```
2895
+
2761
2896
**[Torna all'inizio](#tavola-dei-contenuti)**
2762
2897
2763
2898
## Generatore Yeoman
2764
2899
###### [Stile [Y260](#stile-y260)]
2765
2900
2766
-
Puoi usare il [generatore yeoman di HotTowel](http://jpapa.me/yohottowel) per creare un'app che funga da punto di partenza per Angular che segua questa guida stilistica.
2901
+
Puoi usare il [generatore yeoman di HotTowel](http://jpapa.me/yohottowel) per creare un'app che funga da punto di partenza per Angular che segue gli stili di questa guida.
2767
2902
2768
2903
1. Installa generator-hottowel
2769
2904
2770
2905
```
2771
2906
npm install -g generator-hottowel
2772
2907
```
2773
2908
2774
-
2. Crea un nuova cartella e cambia la directory verso di essa
2909
+
2. Crea una nuova cartella e cambia la directory su di essa
2775
2910
2776
2911
```
2777
2912
mkdir myapp
2778
2913
cd myapp
2779
2914
```
2780
2915
2781
-
3. Lancia il generatore
2916
+
3. Esegui il generatore
2782
2917
2783
2918
```
2784
2919
yo hottowel helloWorld
@@ -2787,43 +2922,45 @@ Puoi usare il [generatore yeoman di HotTowel](http://jpapa.me/yohottowel) per cr
2787
2922
**[Torna all'inizio](#tavola-dei-contenuti)**
2788
2923
2789
2924
## Routing
2790
-
Il routing dal lato client è importante al fine di creare un flusso di navigazione tra le viste e le viste composte che sono fatte da diversi template più piccoli e directive.
2925
+
Il routing del lato client è importante al fine di creare in flusso di navigazione tra view e composizione di view che sono costituite da template più piccoli e directive.
2791
2926
2792
2927
###### [Stile [Y270](#stile-y270)]
2793
2928
2794
-
- Usa [AngularUI Router](http://angular-ui.github.io/ui-router/) per il routing dal lato client.
2929
+
- Usa il [Router AngularUI](http://angular-ui.github.io/ui-router/) per il routing del lato client.
2795
2930
2796
-
*Perché?*: UI Router offre tutte le funzionalità del router di Angular più altre che includono route nidificate e stati.
2931
+
*Perché?*: UI Router offre tutte le funzionalità del router di Angular più alcune funzionalità aggiuntive che includono orute nidificate e stati.
2797
2932
2798
-
*Perché?*: La sintassi è piuttosto simile al router di Angular ed è semplice migrare ad UI Router.
2933
+
*Perché?*: la sintassi è piuttosto simile a quella del router di Angular ed è facile migrare a UI Router.
2799
2934
2800
2935
###### [Stile [Y271](#stile-y271)]
2801
2936
2802
-
- Definisci le route per le viste nel modulo nel quale esistono. Ogni modulo dovrebbe contenere le route per le viste che si trovano nel modulo.
2937
+
- Definisci le route per le view nel modulo dove queste esisteono. Ogni modulo dovrebbe contenere le route per le view del modulo.
2803
2938
2804
2939
*Perché?*: Ogni modulo dovrebbe essere a se stante.
2805
2940
2806
-
*Perché?*: Quando rimuovi o aggiungi un modulo, l'app conterrà le route che puntano a viste esistenti.
2941
+
*Perché?*: Quando rimuovi o aggiungi un modulo, l'app conterrà soltanto route che puntano a view esistenti.
2807
2942
2808
-
*Perché?*: Questo rende semplice abilitare o disabilitare porzioni di una applicazione senza preoccuparsi di route orfane.
2943
+
*Perché?*: Ciò rende semplice abilitare o disabilitare porzioni di una applicazione senza preoccupazioni inerenti route orfane.
2809
2944
2810
2945
**[Torna all'inizio](#tavola-dei-contenuti)**
2811
2946
2812
-
## Automazione dei Processi
2813
-
Usa [Gulp](http://gulpjs.com) o [Grunt](http://gruntjs.com) per la creazione di processi automatizzati. Gulp tende a codice sopra configurazione mentre Grunt tende a configurazione sopra codice. Personalmente preferisco Gulp perché lo percepisco più semplice da leggere e scrivere ma entrambi sono eccellenti.
2947
+
## Automazione dei processi
2948
+
Usa [Gulp](http://gulpjs.com) o [Grunt](http://gruntjs.com) per la creazione di processi automatizzati. Gulp si basa su codive sopra configurazione mentre Grunt si basa su configurazione sopre codice. Personalmente preferisco Gulp poiché lo percepisco come più facile da leggere e scrivere ma entrambi sono eccellenti.
2949
+
2950
+
> Impara di più su Gulp per l'automazione dei processi e pattern in mio [corso Pluralsight su Gulp](http://jpapa.me/gulpps) (in inglese)
2814
2951
2815
2952
###### [Stile [Y400](#stile-y400)]
2816
2953
2817
-
- Usa l'automazione dei processi per listare i file che deinifscono i moduli`*.module.js` prima di ogni altro file dell'applicazione di JavaScript.
2954
+
- Usa l'automazione dei processi per elencare i file delle definizioni dei modili`*.module.js` prima di qualunque altro file JavaScript dell'applicazione.
2818
2955
2819
-
*Perché?*: Angular necessita delle definizioni del moduli che devono essere registrati prima del loro utilizzo.
2956
+
*Perché?*: Angular necessita delle definizione del modulo da essere registrate prima di essere usati.
2820
2957
2821
-
*Perché?*: Dai i nomi ai moduli usando un pattern specifico quale`*.module.js`rende semplice prenderli con un glob e listarli prima.
2958
+
*Perché?*: Nominare i moduli con un pattern specifico come`*.module.js`semplifica prenderli con un glob ed elencarli per primi.
2822
2959
2823
2960
```javascript
2824
2961
var clientApp ='./src/client/app/';
2825
2962
2826
-
// Prendi sempre i file dei moduli prima
2963
+
// Prendi sempre i file dei moduli per primi
2827
2964
var files = [
2828
2965
clientApp +'**/*.module.js',
2829
2966
clientApp +'**/*.js'
@@ -2832,8 +2969,18 @@ Usa [Gulp](http://gulpjs.com) o [Grunt](http://gruntjs.com) per la creazione di
2832
2969
2833
2970
**[Torna all'inizio](#tavola-dei-contenuti)**
2834
2971
2972
+
## Filtri
2973
+
2974
+
###### [Stile [Y420](#stile-y420)]
2975
+
2976
+
- Evita l'utilizzo di filtri per la scansione di tutte le proprietà di un grafico di un oggetto complesso. Usa i filtri per selezionare le proprietà.
2977
+
2978
+
*Perché?*:I filtri possono facilmente essere abusati ed avere un impatto negativo sulle prestazioni se non usati con saggezza, per esempio quando i filtri hanno come soggetto un grafico di un ogetto largo e profondo.
2979
+
2980
+
**[Torna all'inizio](#tavola-dei-contenuti)**
2981
+
2835
2982
## Documentazione di AngularJS
2836
-
Per qualsiasi altro, riferimento alle API, controlla la [documentazione di Angular](//docs.angularjs.org/api).
2983
+
For anything else, API reference, check the [Angular documentation](//docs.angularjs.org/api).
2837
2984
2838
2985
## Contribuire
2839
2986
@@ -2843,8 +2990,8 @@ Apri prima una "issue" per discutere potenziali cambiamenti/aggiunte. Se hai del
2843
2990
2844
2991
### Processo
2845
2992
2846
-
1. Discuti i cambiamenti in un Issue di Github.
2847
-
2. Apri una Pull Request verso la brach develop, fai riferimento all issue e spiega i cambiamenti e perché questi aggiungono valore.
2993
+
1. Discuti i cambiamenti in un Issue.
2994
+
2. Apri una Pull Request, fai riferimento all issue e spiega i cambiamenti e perché questi aggiungono valore.
2848
2995
3. La Pull Request sarà vagliata e quindi fatto un merge o declinata.
0 commit comments