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
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/01-debugging-chrome/article.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,13 +18,13 @@ Voici ce que vous devriez voir si vous le faites pour la première fois :
18
18
19
19

20
20
21
-
Le bouton <spanclass="devtools"style="background-position:-172px-98px"></span> ouvre l'onglet avec les fichiers.
21
+
Le bouton <spanclass="devtools"style="background-position:-172px-98px"></span> ouvre le volet avec les fichiers.
22
22
23
23
Cliquez dessus et sélectionnez `hello.js` dans l’arborescence. Voici ce qui devrait apparaître :
24
24
25
25

26
26
27
-
Ici nous pouvons voir 3 parties :
27
+
Ici nous pouvons voir 3 parties :
28
28
29
29
1. Le volet **explorateur de fichiers** répertorie les fichiers HTML, JavaScript, CSS et autres fichiers, y compris les images jointes à la page. Des extensions Chrome peuvent également apparaître ici.
30
30
2. Le volet **Editeur de Code** affiche le code source.
@@ -60,7 +60,7 @@ Nous pouvons toujours trouver une liste de points d'arrêt dans le volet de droi
60
60
- Sauter rapidement au point d'arrêt dans le code (en cliquant dessus dans le volet de droite).
61
61
- Désactiver temporairement le point d'arrêt en le décochant.
62
62
- Supprimer le point d'arrêt en cliquant avec le bouton droit de la souris et en sélectionnant Supprimer.
63
-
- … Et ainsi de suite
63
+
- … Et ainsi de suite.
64
64
65
65
```smart header="Points d'arrêt conditionnels"
66
66
*Clic droit* sur le numéro de ligne permet de créer un point d'arrêt *conditionnel*. Il ne se déclenche que lorsque l'expression donnée, que vous devez fournir lors de sa création, est vraie.
@@ -123,7 +123,7 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
: Reprend l'exécution. S'il n'y a pas de points d'arrêt supplémentaires, l'exécution continue et le débogueur perd le contrôle.
125
125
126
-
Voici ce que nous pouvons voir après un clic dessus :
126
+
Voici ce que nous pouvons voir après un clic dessus :
127
127
128
128

129
129
@@ -137,11 +137,11 @@ Il y a des boutons pour cela en haut du volet de droite. Actionnons-les.
137
137
<spanclass="devtools"style="background-position:-62px-192px"></span> -- "Step over": lance la commande suivante, mais *n'entre pas dans une fonction*, raccourci clavier `key:F10`.
138
138
: Similaire à la commande "Step" précédente, mais se comporte différemment si l'instruction suivante est un appel de fonction (pas une fonction intégrée, comme `alert`, mais une fonction qui nous est propre).
139
139
140
-
Si nous les comparons, la commande "Step" entre dans un appel de fonction imbriqué et interrompt l'exécution à sa première ligne, tandis que "Step over" exécute l'appel de fonction imbriqué de manière invisible pour nous, en sautant les fonctions internes.
140
+
Si nous les comparons, la commande "Step" entre dans un appel de fonction imbriqué et interrompt l'exécution à sa première ligne, tandis que "Step over" exécute l'appel de fonction imbriqué de manière invisible pour nous, en sautant les fonctions internes.
141
141
142
-
L'exécution est alors suspendue immédiatement après cette fonction.
142
+
L'exécution est alors suspendue immédiatement après cette fonction.
143
143
144
-
C'est bien si nous ne sommes pas intéressés à voir ce qui se passe dans l'appel de fonction.
144
+
C'est bien si nous ne sommes pas intéressés à voir ce qui se passe dans l'appel de fonction.
: Cela ressemble à "Step", mais se comporte différemment dans le cas d'appels de fonctions asynchrones. Si vous commencez seulement à apprendre le JavaScript, vous pouvez alors ignorer la différence, car nous n'avons pas encore d'appels asynchrones.
@@ -167,10 +167,10 @@ C’est pratique lorsque nous voulons faire plusieurs pas en avant, mais nous so
167
167
168
168
Pour afficher quelque chose sur la console depuis notre code, utilisez la fonction `console.log`.
169
169
170
-
Par exemple, cela affiche les valeurs de `0` à `4` sur la console :
170
+
Par exemple, cela affiche les valeurs de `0` à `4` sur la console :
171
171
172
172
```js run
173
-
//open console to see
173
+
//ouvrir la console pour visualiser
174
174
for (let i =0; i <5; i++) {
175
175
console.log("value,", i);
176
176
}
@@ -183,14 +183,14 @@ Si nous avons assez de logging dans notre code, nous pouvons voir ce qui se pass
183
183
## Résumé
184
184
185
185
Comme nous pouvons le constater, il existe trois méthodes principales pour suspendre un script :
186
-
1.A breakpoint.
186
+
1.Les points d'arrêt (breakpoint).
187
187
2. Les instructions du `debugger`.
188
-
3. Une erreur (si les outils de développement sont ouverts et le bouton <spanclass="devtools"style="background-position:-90px-146px"></span> est "on")
188
+
3. Une erreur (si les outils de développement sont ouverts et le bouton <spanclass="devtools"style="background-position:-90px-146px"></span> est activé)
189
189
190
190
En pause, nous pouvons déboguer -- examiner les variables et suivre le code pour voir où l’exécution s’est mal passée.
191
191
192
192
Il y a beaucoup plus d'options dans les outils de développement que celles couvertes ici. Le manuel complet est ici <https://developers.google.com/web/tools/chrome-devtools>.
193
193
194
194
Les informations de ce chapitre sont suffisantes pour commencer le débogage, mais plus tard, en particulier si vous utilisez beaucoup de fonctions de navigateur, allez-y et examinez les fonctionnalités plus avancées des outils de développement.
195
195
196
-
Oh, et vous pouvez aussi cliquer sur différents endroits des outils de développement et voir ce qui s’affiche. C’est probablement la voie la plus rapide pour apprendre les outils de développement. Ne pas oublier le clic droit aussi les menus contextuels !
196
+
Oh, et vous pouvez aussi cliquer sur différents endroits des outils de développement et voir ce qui s’affiche. C’est probablement la voie la plus rapide pour apprendre les outils de développement. N'oubliez pas le clic droit et les menus contextuels !
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/02-coding-style/article.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,15 +56,15 @@ if (condition) {
56
56
}
57
57
```
58
58
59
-
Une construction sur une seule ligne, comme `if (condition) doSomething()`, est un cas important. Devrions-nous utiliser des accolades ?
59
+
Une construction sur une seule ligne, comme `if (condition) doSomething()`, est un cas important. Devrions-nous utiliser des accolades ?
60
60
61
61
Voici les variantes annotées pour que vous puissiez juger de leur lisibilité :
62
62
63
-
1. 😠 Les débutants font parfois cela. C'est une mauvaise pratique! Les accolades ne sont pas nécessaires :
63
+
1. 😠 Les débutants font parfois cela. C'est une mauvaise pratique! Les accolades ne sont pas nécessaires :
64
64
```js
65
65
if (n <0) *!*{*/!*alert(`Power ${n} is not supported`);*!*}*/!*
66
66
```
67
-
2. 😠 Lorsque vous n'utilisez pas d'accolades, évitez de passer pas à la ligne, il est facile de se tromper! :
67
+
2. 😠 Lorsque vous n'utilisez pas d'accolades, évitez de passer pas à la ligne car il est facile de se tromper :
68
68
```js
69
69
if (n <0)
70
70
alert(`Power ${n} is not supported`);
@@ -80,14 +80,14 @@ Voici les variantes annotées pour que vous puissiez juger de leur lisibilité :
80
80
}
81
81
```
82
82
83
-
Pour un code tres court, une ligne est autorisée, par exemple. `if (cond) returnnull`. Mais la variante numéro 4 est généralement plus lisible.
84
-
83
+
Pour un code tres court, une ligne est autorisée, par exemple `if (cond) returnnull`. Mais la variante numéro 4 est généralement plus lisible.
85
84
86
85
### Longueur de la ligne
87
86
88
-
Personne n'aime lire une longue ligne horizontale de code. La meilleure pratique est de les scinder.
87
+
Personne n'aime lire une longue ligne horizontale de code. La meilleure pratique est de la scinder.
89
88
90
89
Par exemple :
90
+
91
91
```js
92
92
// les guillemets backtick ` permettent de scinder la chaîne de caractères en plusieurs lignes
93
93
let str =`
@@ -115,13 +115,13 @@ La longueur de ligne maximale est convenue au niveau de l'équipe. C’est gén
115
115
116
116
Il existe deux types d'indentations :
117
117
118
-
- **Un retrait horizontal : 2(4) espaces.**
118
+
- **Un retrait horizontal : 2 ou 4 espaces.**
119
119
120
-
Une indentation horizontale est faite en utilisant 2 ou 4 espaces ou le symbole horizontal de tabulation (key`key:Tab`). Lequel choisir est une vieille guerre sainte. Les espaces sont plus communs de nos jours.
120
+
Une indentation horizontale est faite en utilisant 2 ou 4 espaces ou le symbole horizontal de tabulation (touche`key:Tab`). Lequel choisir est une vieille guerre sainte. Les espaces sont plus communs de nos jours.
121
121
122
122
Un des avantages des espaces sur les tabulations est qu’ils permettent des configurations de retrait plus flexibles que le symbole tabulation.
123
123
124
-
Par exemple, nous pouvons aligner les arguments avec le crochet d’ouverture, comme ceci :
124
+
Par exemple, nous pouvons aligner les arguments avec la parenthèse d’ouverture, comme ceci :
125
125
126
126
```js no-beautify
127
127
show(parameters,
@@ -164,7 +164,7 @@ Si vous êtes un programmeur JavaScript expérimenté, vous pouvez choisir un st
164
164
165
165
Il ne devrait pas y avoir trop de niveaux d'imbrication.
166
166
167
-
Par exemple, dans une boucle, c’est parfois une bonne idée d’utiliser la directive ["continue"](info:while-for#continue) pour éviter une imbrication supplémentaire.
167
+
Par exemple, dans une boucle, c’est parfois une bonne idée d’utiliser la directive ["continue"](info:while-for#continue) pour éviter une imbrication supplémentaire.
168
168
169
169
Par exemple, au lieu d’ajouter un `if` imbriqué conditionnel comme ceci :
170
170
@@ -185,7 +185,7 @@ for (let i = 0; i < 10; i++) {
185
185
}
186
186
```
187
187
188
-
Une chose similaire peut être faite avec `if/else` et `return`.
188
+
Une chose similaire peut être faite avec `if`/`else` et `return`.
189
189
190
190
Par exemple, les deux constructions ci-dessous sont identiques.
191
191
@@ -203,7 +203,7 @@ function pow(x, n) {
203
203
}
204
204
205
205
return result;
206
-
}
206
+
}
207
207
}
208
208
```
209
209
@@ -228,7 +228,7 @@ function pow(x, n) {
228
228
229
229
Le second est plus lisible, parce que le "cas marginal" de `n <0` est traité tôt. Une fois la vérification effectuée, nous pouvons passer au flux de code "principal" sans avoir besoin d'imbrication supplémentaire.
230
230
231
-
## Placement de Fonction
231
+
## Placement des fonctions
232
232
233
233
Si vous écrivez plusieurs fonctions "helper" (auxiliaires) et le code pour les utiliser, il existe trois façons de les placer.
234
234
@@ -283,9 +283,9 @@ C’est parce qu’en lisant du code, nous voulons d’abord savoir ce qu’il f
283
283
284
284
## Guides de style
285
285
286
-
Un guide de style contient des règles générales sur "comment écrire" du code, ex: les quotes à utiliser, le nombre d'espaces pour indenter, la longueur de ligne maximale, etc. Beaucoup de petites choses.
286
+
Un guide de style contient des règles générales sur "comment écrire" du code. Exemple : les quotes à utiliser, le nombre d'espaces pour indenter, la longueur de ligne maximale, etc. Beaucoup de petites choses.
287
287
288
-
Au total, lorsque tous les membres d'une équipe utilisent le même guide de style, le code est uniforme. Peu importe qui l’a écrit, c’est toujours le même style.
288
+
Lorsque tous les membres d'une équipe utilisent le même guide de style, le code est uniforme. Peu importe qui l’a écrit, c’est toujours le même style.
289
289
290
290
Bien sûr, une équipe peut toujours écrire son propre guide de style, mais cela n’est généralement pas nécessaire. Il existe de nombreux guides existants à choisir.
291
291
@@ -349,6 +349,6 @@ De plus, certains IDE prennent en charge le linting nativement, ce qui peut éga
349
349
350
350
Toutes les règles de syntaxe de ce chapitre et les guides de style visent à améliorer la lisibilité, elles sont donc toutes discutables.
351
351
352
-
Lorsque nous pensons à écrire du "meilleur" code, les questions que nous devrions nous poser sont les suivantes : "Qu'est-ce qui rend le code plus lisible et plus facile à comprendre ?" Et "Qu'est-ce qui peut nous aider à éviter les erreurs ?" Telles sont les principales choses à garder à l'esprit lors du choix et du débat sur les styles de code.
352
+
Lorsque nous pensons à écrire du "meilleur" code, les questions que nous devrions nous poser sont les suivantes : "Qu'est-ce qui rend le code plus lisible et plus facile à comprendre ?" et "Qu'est-ce qui peut nous aider à éviter les erreurs ?". Telles sont les principales choses à garder à l'esprit lors du choix et du débat sur les styles de code.
353
353
354
354
Lisez les guides de style pour connaître les dernières idées à ce sujet et suivez celles que vous trouvez les meilleures.
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/03-comments/article.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Comme nous le savons du chapitre <info:structure>, les commentaires peuvent êtr
4
4
5
5
Nous les utilisons normalement pour décrire comment et pourquoi le code fonctionne.
6
6
7
-
De prime abord, les commentaires peuvent sembler évidents, mais les novices en programmation les utilise souvent à tort.
7
+
De prime abord, les commentaires peuvent sembler évidents, mais les novices en programmation les utilisent souvent à tort.
8
8
9
9
## Mauvais commentaires
10
10
@@ -52,7 +52,7 @@ function showPrimes(n) {
52
52
for (let i =2; i < n; i++) {
53
53
*!*if (!isPrime(i)) continue;*/!*
54
54
55
-
alert(i);
55
+
alert(i);
56
56
}
57
57
}
58
58
@@ -177,4 +177,4 @@ Les bons commentaires nous permettent de bien maintenir le code, d'y revenir apr
177
177
- Qui disent "comment fonctionne le code" et "ce qu'il fait".
178
178
- Ne les mettez que s’il est impossible de rendre le code aussi simple et auto-descriptif qu’il n’en nécessite pas.
179
179
180
-
Les commentaires sont également utilisés pour les outils de documentation automatique tels que JSDoc3: ils les lisent et génèrent des documents HTML (ou des documents dans un autre format).
180
+
Les commentaires sont également utilisés pour les outils de documentation automatique tels que JSDoc3. Ils les lisent et génèrent des documents HTML (ou des documents dans un autre format).
Copy file name to clipboardExpand all lines: 1-js/03-code-quality/06-polyfills/article.md
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,7 +72,7 @@ if (!Math.trunc) { // si une telle fonction n'existe pas
72
72
JavaScript est un langage très dynamique, les scripts peuvent ajouter/modifier toutes les fonctions, y compris celles intégrées.
73
73
74
74
Deux librairies intéressantes de polyfills sont :
75
-
- [core js](https://github.com/zloirock/core-js) qui prend en charge beaucoup, permet d'inclure uniquement les fonctionnalités nécessaires.
75
+
- [core js](https://github.com/zloirock/core-js) qui prend en charge beaucoup de choses et permet d'inclure uniquement les fonctionnalités nécessaires.
76
76
- [polyfill.io](https://polyfill.io) est un service qui fournit un script avec des polyfills, en fonction des fonctionnalités et du navigateur de l'utilisateur.
77
77
78
78
@@ -89,4 +89,3 @@ De bonnes ressources qui montrent l'état actuel de la prise en charge de divers
89
89
- <https://caniuse.com/> - pour les fonctions liées au navigateur.
90
90
91
91
P.S. Google Chrome est généralement le plus à jour avec les fonctionnalités du langage, essayez-le si une démonstration d'un tutoriel échoue. La plupart des démos de didacticiels fonctionnent avec n'importe quel navigateur moderne.
0 commit comments