Skip to content

Commit c593cd1

Browse files
committed
[it-IT] Multiple new sections and PRs johnpapa#337, johnpapa#338, johnpapa#340 johnpapa#341
Updated adding the following sections: JSCS; Yeoman Generator; Routing; Task Automation; Filters. Updated as the following PRs: johnpapa#337, johnpapa#338, johnpapa#340
1 parent da6d54d commit c593cd1

File tree

1 file changed

+168
-21
lines changed

1 file changed

+168
-21
lines changed

i18n/it-IT.md

Lines changed: 168 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,13 @@ Nonostante questa guida spieghi i *cosa*, *come* e *perché*, trovo che sia di a
4949
1. [Animazioni](#animazioni)
5050
1. [Commenti](#commenti)
5151
1. [JSHint](#jshint)
52+
1. [JSCS](#jscs)
5253
1. [Costanti](#costanti)
5354
1. [File Template e Snippet](#file-template-e-snippet)
5455
1. [Generatore Yeoman](#generatore-yeoman)
5556
1. [Routing](#routing)
56-
1. [Automazione dei Processi](#automazione-dei-processi)
57+
1. [Automazione dei processi](#automazione-dei-processi)
58+
1. [Filtri](#filtri)
5759
1. [Documentazione di AngularJS](#documentazione-di-angularjs)
5860
1. [Contribuire](#contribuire)
5961
1. [Licenza](#licenza)
@@ -1252,6 +1254,17 @@ Nonostante questa guida spieghi i *cosa*, *come* e *perché*, trovo che sia di a
12521254
<div>min={{vm.min}}<input ng-model="vm.min"/></div>
12531255
```
12541256
1257+
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+
function linkFunc(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+
```
12551268
###### [Stile [Y076](#stile-y076)]
12561269
12571270
- 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
19761989
### Nomi delle factory
19771990
###### [Stile [Y125](#stile-y125)]
19781991
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 `$`
19801993
19811994
*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 `$`.
19821997
19831998
```javascript
19841999
/**
@@ -2641,6 +2656,94 @@ Gli unit test aiutano a mantenere il codice più chiaro, perciò ho incluso alcu
26412656
26422657
**[Torna all'inizio](#tavola-dei-contenuti)**
26432658
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.
2669+
2670+
```javascript
2671+
{
2672+
"excludeFiles": ["node_modules/**", "bower_components/**"],
2673+
2674+
"requireCurlyBraces": [
2675+
"if",
2676+
"else",
2677+
"for",
2678+
"while",
2679+
"do",
2680+
"try",
2681+
"catch"
2682+
],
2683+
"requireOperatorBeforeLineBreak": true,
2684+
"requireCamelCaseOrUpperCaseIdentifiers": true,
2685+
"maximumLineLength": {
2686+
"value": 100,
2687+
"allowComments": true,
2688+
"allowRegex": true
2689+
},
2690+
"validateIndentation": 4,
2691+
"validateQuoteMarks": "'",
2692+
2693+
"disallowMultipleLineStrings": true,
2694+
"disallowMixedSpacesAndTabs": true,
2695+
"disallowTrailingWhitespace": true,
2696+
"disallowSpaceAfterPrefixUnaryOperators": true,
2697+
"disallowMultipleVarDecl": null,
2698+
2699+
"requireSpaceAfterKeywords": [
2700+
"if",
2701+
"else",
2702+
"for",
2703+
"while",
2704+
"do",
2705+
"switch",
2706+
"return",
2707+
"try",
2708+
"catch"
2709+
],
2710+
"requireSpaceBeforeBinaryOperators": [
2711+
"=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
2712+
"&=", "|=", "^=", "+=",
2713+
2714+
"+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
2715+
"|", "^", "&&", "||", "===", "==", ">=",
2716+
"<=", "<", ">", "!=", "!=="
2717+
],
2718+
"requireSpaceAfterBinaryOperators": true,
2719+
"requireSpacesInConditionalExpression": true,
2720+
"requireSpaceBeforeBlockStatements": true,
2721+
"requireLineFeedAtFileEnd": true,
2722+
"disallowSpacesInsideObjectBrackets": "all",
2723+
"disallowSpacesInsideArrayBrackets": "all",
2724+
"disallowSpacesInsideParentheses": true,
2725+
2726+
"validateJSDoc": {
2727+
"checkParamNames": true,
2728+
"requireParamTypes": true
2729+
},
2730+
2731+
"disallowMultipleLineBreaks": true,
2732+
2733+
"disallowCommaBeforeLineBreak": null,
2734+
"disallowDanglingUnderscores": null,
2735+
"disallowEmptyBlocks": null,
2736+
"disallowMultipleLineStrings": null,
2737+
"disallowTrailingComma": null,
2738+
"requireCommaBeforeLineBreak": null,
2739+
"requireDotNotation": null,
2740+
"requireMultipleVarDecl": null,
2741+
"requireParenthesesAroundIIFE": true
2742+
}
2743+
```
2744+
2745+
**[Torna all'inizio](#tavola-dei-contenuti)**
2746+
26442747
## Costanti
26452748
26462749
### Variabili globali delle terze parti
@@ -2758,27 +2861,59 @@ Usa file template o snippet che ti aiutino a seguire stili e schemi consistentem
27582861
ngmodule // crea un module Angular
27592862
```
27602863
2864+
### Brackets
2865+
###### [Stile [Y254](#stile-y254)]
2866+
2867+
- Snippet di Angular che seguono questi stili e linee guida.
2868+
2869+
- Brackets Extension manager ( File > Extension manager )
2870+
- Installa ['Brackets Snippets (by edc)'](https://github.com/chuyik/brackets-snippets)
2871+
- 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+
27612896
**[Torna all'inizio](#tavola-dei-contenuti)**
27622897
27632898
## Generatore Yeoman
27642899
###### [Stile [Y260](#stile-y260)]
27652900
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.
27672902
27682903
1. Installa generator-hottowel
27692904
27702905
```
27712906
npm install -g generator-hottowel
27722907
```
27732908
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
27752910
27762911
```
27772912
mkdir myapp
27782913
cd myapp
27792914
```
27802915
2781-
3. Lancia il generatore
2916+
3. Esegui il generatore
27822917
27832918
```
27842919
yo hottowel helloWorld
@@ -2787,43 +2922,45 @@ Puoi usare il [generatore yeoman di HotTowel](http://jpapa.me/yohottowel) per cr
27872922
**[Torna all'inizio](#tavola-dei-contenuti)**
27882923
27892924
## 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.
27912926
27922927
###### [Stile [Y270](#stile-y270)]
27932928
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.
27952930
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.
27972932
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.
27992934
28002935
###### [Stile [Y271](#stile-y271)]
28012936
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.
28032938
28042939
*Perché?*: Ogni modulo dovrebbe essere a se stante.
28052940
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.
28072942
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.
28092944
28102945
**[Torna all'inizio](#tavola-dei-contenuti)**
28112946
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)
28142951
28152952
###### [Stile [Y400](#stile-y400)]
28162953
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.
28182955
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.
28202957
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.
28222959
28232960
```javascript
28242961
var clientApp = './src/client/app/';
28252962

2826-
// Prendi sempre i file dei moduli prima
2963+
// Prendi sempre i file dei moduli per primi
28272964
var files = [
28282965
clientApp + '**/*.module.js',
28292966
clientApp + '**/*.js'
@@ -2832,8 +2969,18 @@ Usa [Gulp](http://gulpjs.com) o [Grunt](http://gruntjs.com) per la creazione di
28322969
28332970
**[Torna all'inizio](#tavola-dei-contenuti)**
28342971
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+
28352982
## 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).
28372984
28382985
## Contribuire
28392986
@@ -2843,8 +2990,8 @@ Apri prima una "issue" per discutere potenziali cambiamenti/aggiunte. Se hai del
28432990
28442991
### Processo
28452992
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.
28482995
3. La Pull Request sarà vagliata e quindi fatto un merge o declinata.
28492996
28502997
## Licenza

0 commit comments

Comments
 (0)