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
1.[Resolviendo Promesas en un Controlador](#resolving-promises-for-a-controller)
35
-
1.[Anotación Manual para Inyección de Dependencias](#manual-annotating-for-dependency-injection)
36
-
1.[Minification and Annotation](#minification-and-annotation)
37
-
1.[Manejo de Excepciones](#exception-handling)
38
-
1.[Cómo Nombrar](#naming)
39
-
1.[Estructura de la Aplicación El Principio LIFT](#application-structure-lift-principle)
40
-
1.[Estructura de la Aplicación](#application-structure)
41
-
1.[Modularidad](#modularity)
42
-
1.[Lógica de Arranque](#startup-logic)
43
-
1.[Servicios Envoltorios $ de Angular](#angular--wrapper-services)
44
-
1.[Pruebas](#testing)
45
-
1.[Animaciones](#animations)
46
-
1.[Comentarios](#comments)
34
+
1.[Directivas](#directivas)
35
+
1.[Resolviendo Promesas en un Controlador](#resolviendo-promesas-en-un-controlador)
36
+
1.[Anotación Manual para la Inyección de Dependencias](#anotación-manual-para-la-inyección-de-dependencias)
37
+
1.[Minificación y Anotación](#minificación-y-anotación)
38
+
1.[Manejo de Excepciones](#manejo-de-excepciones)
39
+
1.[Cómo Nombrar](#cómo-nombrar)
40
+
1.[Estructura de la Aplicación El Principio LIFT](#estructura-de-la-aplicación-el-principio-lift)
41
+
1.[Estructura de la Aplicación](#estructura-de-la-aplicación)
42
+
1.[Modularidad](#modularidad)
43
+
1.[Lógica de Arranque](#lógica-de-arranque)
44
+
1.[Servicios Envoltorios $ de Angular](#servicios-envoltorios--de-angular)
45
+
1.[Pruebas](#pruebas)
46
+
1.[Animaciones](#animaciones)
47
+
1.[Comentarios](#comentarios)
47
48
1.[JSHint](#js-hint)
48
-
1.[Constantes](#constants)
49
-
1.[Plantillas y Snippets](#file-templates-and-snippets)
50
-
1.[Generador de Yeoman](#yeoman-generator)
51
-
1.[Ruteo](#routing)
52
-
1.[Automatización de Tareas](#task-automation)
49
+
1.[Constantes](#constantes)
50
+
1.[Plantillas y Snippets](#plantillas-y-snippets)
51
+
1.[Generador de Yeoman](#generador-de-yeoman)
52
+
1.[Ruteo](#ruteo)
53
+
1.[Automatización de Tareas](#automatización-de-tareas)
53
54
1.[AngularJS Docs](#angularjs-docs)
54
-
1.[Contribuyendo](#contributing)
55
-
1.[Licencia](#license)
55
+
1.[Contribuyendo](#contribuyendo)
56
+
1.[Licencia](#licencia)
56
57
57
58
## Single Responsibility o Responsabilidad Única
58
59
@@ -107,7 +108,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
107
108
functionsomeFactory() { }
108
109
```
109
110
110
-
**[Volver arriba](#table-of-contents)**
111
+
**[Volver arriba](#tabla-de-contenidos)**
111
112
112
113
## IIFE
113
114
### Closures de JavaScript
@@ -172,7 +173,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
172
173
173
174
- Nota: IIFE previente que el código de los tests llegue a sus variables privadas, como expresiones regulares o funciones de ayuda que normalmente vienen bien para hacer pruebas por sí solas. Sin embargo, puedes acceder a ellas creando accesorios o accediendo a través de sus componentes. Por ejemplo, poniendo las funciones de ayuda, expresiones regulares o constantes en su propia factory.
174
175
175
-
**[Volver arriba](#table-of-contents)**
176
+
**[Volver arriba](#tabla-de-contenidos)**
176
177
177
178
## Módulos
178
179
@@ -282,7 +283,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
282
283
functionlogger() { }
283
284
```
284
285
285
-
**[Volver arriba](#table-of-contents)**
286
+
**[Volver arriba](#tabla-de-contenidos)**
286
287
287
288
## Controladores
288
289
@@ -673,7 +674,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
673
674
</div>
674
675
```
675
676
676
-
**[Volver arriba](#table-of-contents)**
677
+
**[Volver arriba](#tabla-de-contenidos)**
677
678
678
679
## Servicios
679
680
@@ -712,7 +713,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
712
713
}
713
714
```
714
715
715
-
**[Volver arriba](#table-of-contents)**
716
+
**[Volver arriba](#tabla-de-contenidos)**
716
717
717
718
## Factories
718
719
@@ -883,7 +884,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
883
884
}
884
885
```
885
886
886
-
**[Volver arriba](#table-of-contents)**
887
+
**[Volver arriba](#tabla-de-contenidos)**
887
888
888
889
## Data Services
889
890
@@ -1008,7 +1009,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
1008
1009
}
1009
1010
```
1010
1011
1011
-
**[Volver arriba](#table-of-contents)**
1012
+
**[Volver arriba](#tabla-de-contenidos)**
1012
1013
1013
1014
## Directivas
1014
1015
### Limitadas a 1 Por Archivo
@@ -1296,7 +1297,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
@@ -1446,9 +1447,9 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
1446
1447
vm.movies=moviesPrepService.movies;
1447
1448
}
1448
1449
```
1449
-
Nota: El código del ejemplo de dependencia en `movieService` no se puede minimizar tal cual. Para detalles en cómo hacer este código sea minimizable, mira la sección en [inyección de dependencias](#manual-annotating-for-dependency-injection) y en [minimización y anotación](#minification-and-annotation).
1450
+
Nota: El código del ejemplo de dependencia en `movieService` no se puede minimizar tal cual. Para detalles en cómo hacer este código sea minimizable, mira la sección en [inyección de dependencias](#anotación-manual-para-la-inyección-de-dependencias) y en [minimización y anotación](#minificación-y-anotación).
1450
1451
1451
-
**[Volver arriba](#table-of-contents)**
1452
+
**[Volver arriba](#tabla-de-contenidos)**
1452
1453
1453
1454
## Anotación Manual para la Inyección de Dependencias
1454
1455
@@ -1579,7 +1580,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
1579
1580
}
1580
1581
```
1581
1582
1582
-
**[Volver arriba](#table-of-contents)**
1583
+
**[Volver arriba](#tabla-de-contenidos)**
1583
1584
1584
1585
## Minificación y Anotación
1585
1586
@@ -1691,7 +1692,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
1691
1692
1692
1693
```
1693
1694
1694
-
**[Volver arriba](#table-of-contents)**
1695
+
**[Volver arriba](#tabla-de-contenidos)**
1695
1696
1696
1697
## Manejo de Excepciones
1697
1698
@@ -1803,7 +1804,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
1803
1804
}
1804
1805
```
1805
1806
1806
-
**[Volver arriba](#table-of-contents)**
1807
+
**[Volver arriba](#tabla-de-contenidos)**
1807
1808
1808
1809
## Cómo Nombrar
1809
1810
@@ -2027,7 +2028,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
2027
2028
2028
2029
- Separa la configuración de la ruta en un arhivo propio. Algunos ejemplos pueden ser `app.route.js` para el módulo principal y `admin.route.js` para el módulo admin `admin`. Incluso en aplicaciones pequeñas prefiero esta separación del resto de la configuración.
2029
2030
2030
-
**[Volver arriba](#table-of-contents)**
2031
+
**[Volver arriba](#tabla-de-contenidos)**
2031
2032
2032
2033
## Estructura de la Aplicación El Principio LIFT
2033
2034
### LIFT
@@ -2090,7 +2091,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
2090
2091
2091
2092
*¿Por qué?*: Ser DRY es importante, pero no crucial si sacrifica otras partes de LIFT, es por eso que lo llamo T-DRY. No quiero escribir session-view.html por una vista porque, obviamente es una vista. Si no es obvio o por convención, entonces la nombro así.
2092
2093
2093
-
**[Volver arriba](#table-of-contents)**
2094
+
**[Volver arriba](#tabla-de-contenidos)**
2094
2095
2095
2096
## Estructura de la Aplicación
2096
2097
@@ -2202,7 +2203,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
2202
2203
topnav.html
2203
2204
```
2204
2205
2205
-
**[Volver arriba](#table-of-contents)**
2206
+
**[Volver arriba](#tabla-de-contenidos)**
2206
2207
2207
2208
## Modularidad
2208
2209
@@ -2266,7 +2267,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
2266
2267
2267
2268
> En una aplicación pequeña, también puedes considerar poner todas las dependencias compartidas en el módulo principal dónde los módulos de features no tienen dependencias directas. Esto hace más fácil mantener aplicaciones pequeñas, pero hace más díficil el reusar módulos fuera de esta aplicación.
2268
2269
2269
-
**[Volver arriba](#table-of-contents)**
2270
+
**[Volver arriba](#tabla-de-contenidos)**
2270
2271
2271
2272
## Lógica de Arranque
2272
2273
@@ -2322,7 +2323,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
2322
2323
}
2323
2324
```
2324
2325
2325
-
**[Volver arriba](#table-of-contents)**
2326
+
**[Volver arriba](#tabla-de-contenidos)**
2326
2327
2327
2328
## Servicios Envoltorios $ de Angular
2328
2329
@@ -2340,7 +2341,7 @@ Mientras que esta guía explica el *qué*, *por qué* y *cómo*, me resulta úti
2340
2341
2341
2342
*¿Por qué?*: Estos servicios están envueltos por Angular y son más fáciles de testear y manejar el ciclo digest de AngularJS así que mantienen el bindeo de los datos en sincronización.
2342
2343
2343
-
**[Volver arriba](#table-of-contents)**
2344
+
**[Volver arriba](#tabla-de-contenidos)**
2344
2345
2345
2346
## Pruebas
2346
2347
Las pruebas unitarias ayudan a mantener el código limpio, así que incluyo algunas de mis recomendaciones en los fundamentos del testeo unitario con links para mayor información.
@@ -2459,7 +2460,7 @@ Las pruebas unitarias ayudan a mantener el código limpio, así que incluyo algu
2459
2460
/customers.route.spec.js
2460
2461
```
2461
2462
2462
-
**[Volver arriba](#table-of-contents)**
2463
+
**[Volver arriba](#tabla-de-contenidos)**
2463
2464
2464
2465
## Animaciones
2465
2466
@@ -2492,7 +2493,7 @@ Las pruebas unitarias ayudan a mantener el código limpio, así que incluyo algu
2492
2493
2493
2494
Nota: Ve este [ excelente post de Matias Niemelä sobre animaciones AngularJS](http://www.yearofmoo.com/2013/08/remastered-animation-in-angularjs-1-2.html)
2494
2495
2495
-
**[Volver arriba](#table-of-contents)**
2496
+
**[Volver arriba](#tabla-de-contenidos)**
2496
2497
2497
2498
## Comentarios
2498
2499
@@ -2544,7 +2545,7 @@ Las pruebas unitarias ayudan a mantener el código limpio, así que incluyo algu
2544
2545
})();
2545
2546
```
2546
2547
2547
-
**[Volver arriba](#table-of-contents)**
2548
+
**[Volver arriba](#tabla-de-contenidos)**
2548
2549
2549
2550
## JS Hint
2550
2551
@@ -2621,7 +2622,7 @@ Las pruebas unitarias ayudan a mantener el código limpio, así que incluyo algu
2621
2622
}
2622
2623
```
2623
2624
2624
-
**[Volver arriba](#table-of-contents)**
2625
+
**[Volver arriba](#tabla-de-contenidos)**
2625
2626
2626
2627
## Constantes
2627
2628
@@ -2671,7 +2672,7 @@ Las pruebas unitarias ayudan a mantener el código limpio, así que incluyo algu
2671
2672
});
2672
2673
```
2673
2674
2674
-
**[Volver arriba](#table-of-contents)**
2675
+
**[Volver arriba](#tabla-de-contenidos)**
2675
2676
2676
2677
## Plantillas y Snippets
2677
2678
Usa Plantillas o snippets para ayudarte a seguir estilos consistentes o patrones. Aquí hay plantillas y/o snippets para algunos de los editores de desarrollo web e IDEs.
@@ -2719,7 +2720,7 @@ Usa Plantillas o snippets para ayudarte a seguir estilos consistentes o patrones
2719
2720
ng-m // crea un módulo de Angular
2720
2721
```
2721
2722
2722
-
**[Volver arriba](#table-of-contents)**
2723
+
**[Volver arriba](#tabla-de-contenidos)**
2723
2724
2724
2725
## Generador de Yeoman
2725
2726
###### [Style [Y260](#style-y260)]
@@ -2745,7 +2746,7 @@ Puedes usar el [generador de yeoman HotTowel](http://jpapa.me/yohottowel) para c
2745
2746
yo hottowel helloWorld
2746
2747
```
2747
2748
2748
-
**[Volver arriba](#table-of-contents)**
2749
+
**[Volver arriba](#tabla-de-contenidos)**
2749
2750
2750
2751
## Ruteo
2751
2752
Ruteo del lado del Cliente es importante para crear un flujo de navegación entre vistas y vistas de composición que están hechas de muchas pequeñas plantillas y directivas.
@@ -2768,7 +2769,7 @@ Ruteo del lado del Cliente es importante para crear un flujo de navegación entr
2768
2769
2769
2770
*¿Por qué?*: Esto hace más fácil habilitar o deshabilitar porciones de una aplicación sin preocuparse de rutas huérfanas.
2770
2771
2771
-
**[Volver arriba](#table-of-contents)**
2772
+
**[Volver arriba](#tabla-de-contenidos)**
2772
2773
2773
2774
## Automatización de Tareas
2774
2775
Usa [Gulp](http://gulpjs.com) o [Grunt](http://gruntjs.com) para crear tareas automatizadas. Gulp deriva a código sobre configuración mientras que Grunt deriva a configuración sobre código. Personalmente yo prefiero Gulp ya que se siente más fácil de leer y escribir, pero ambos son excelentes.
@@ -2791,7 +2792,7 @@ Usa [Gulp](http://gulpjs.com) o [Grunt](http://gruntjs.com) para crear tareas au
2791
2792
];
2792
2793
```
2793
2794
2794
-
**[Volver arriba](#table-of-contents)**
2795
+
**[Volver arriba](#tabla-de-contenidos)**
2795
2796
2796
2797
## AngularJS docs
2797
2798
Para cualquier otra cosa, refiérete a la API, mira la [documentación de Angular](//docs.angularjs.org/api).
@@ -2834,4 +2835,4 @@ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
2834
2835
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2835
2836
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0 commit comments