Bonnes pratiques
Ce mémo regroupe les réflexes d'un code propre et d'un projet bien tenu. Chaque section renvoie au cours qui l'explique.
Nommer
| Élément | Convention | Exemple |
|---|---|---|
| Variable | nom en camelCase | recettesRapides |
| Fonction | verbe en camelCase | chargerRecettes() |
| Booléen | question | estPublie |
| Constante fixe | MAJUSCULES | DUREE_MAX_RECETTE_RAPIDE |
| Composant | majuscule initiale | CarteRecette |
Une fonction fait une seule chose. Un commentaire explique le pourquoi. Détails : Nommer et organiser son code.
Lire une erreur
| Type | Sens |
|---|---|
SyntaxError | Le code est mal écrit. |
ReferenceError | Le nom n'existe pas. |
TypeError | La valeur ne peut pas être utilisée ainsi. |
F12 ouvre les outils du navigateur, onglet Console. Corrige la première erreur de la liste. Détails : Lire une erreur.
Déboguer
console.log('total :', total)
console.table(recettes)
debugger // pause si les outils sont ouverts
Méthode : reproduire, isoler, comprendre, corriger. Pour un bug récent :
git bisect start
git bisect bad
git bisect good <identifiant>
git bisect reset
Détails : Déboguer méthodiquement.
Gérer un projet
| Outil | Usage |
|---|---|
| Tableau Kanban | Ranger les tâches : à faire, en cours, terminé. |
| Issue GitHub | Une tâche ou un bug, avec étapes et résultat attendu. |
Closes #12 | Ferme l'issue à la fusion de la pull request. |
| README | Ce que c'est, comment le lancer. |
Détails : Gérer un projet.
Sécurité
# .gitignore
.env
| Réflexe | Action |
|---|---|
| Secrets | Dans .env, jamais commité, avec un .env.example. |
| Entrées utilisateur | Afficher avec textContent, valider côté serveur. |
| Dépendances | npm audit, npm outdated, npm ci. |
| Transport | HTTPS partout. |
Détails : Sécurité de base.
Qualité
| Commande | Effet |
|---|---|
npm init @eslint/config@latest | Crée la configuration d'ESLint. |
npx eslint . --fix | Analyse et corrige. |
npx prettier . --write | Reformate le code. |
npx prettier . --check | Vérifie le style sans modifier. |
node --test | Lance les tests du lanceur intégré à Node.js. |
Détails : Qualité et mise en ligne.
Mettre en ligne
export default defineNuxtConfig({
runtimeConfig: {
apiSecret: '', // NUXT_API_SECRET
public: { apiBase: '' } // NUXT_PUBLIC_API_BASE
}
})
Le .env n'est pas lu par le serveur compilé : définis les variables chez l'hébergeur. Avant chaque déploiement : lint, tests, npm audit, npm run build, variables de production, HTTPS. Détails : Qualité et mise en ligne.
Sources officielles
Ensuite
- Projet
- Lignes de code
- Niveau
- Rez-de-chaussée
- Appartement
- Bonnes pratiques
- Pièce
- 7/7
- Plan n°
- pratiques/index