Maison > interface Web > js tutoriel > le corps du texte

Normes générales de codage pour Vue js.

WBOY
Libérer: 2024-08-06 19:15:22
original
1059 Les gens l'ont consulté

General Coding Standards for Vue js.

Voici d'autres bonnes et mauvaises pratiques pour Vue.js :

Normes générales de codage

  1. Évitez les nombres et les chaînes magiques :
    • Utilisez des constantes pour les valeurs qui sont utilisées à plusieurs reprises ou qui ont une signification particulière.
   // Good
   const MAX_ITEMS = 10;

   function addItem(item) {
     if (items.length < MAX_ITEMS) {
       items.push(item);
     }
   }

   // Bad
   function addItem(item) {
     if (items.length < 10) {
       items.push(item);
     }
   }
Copier après la connexion
  1. Utilisez v-for efficacement :
    • Lorsque vous utilisez v-for, fournissez toujours une clé unique pour optimiser le rendu.
   <!-- Good -->
   <div v-for="item in items" :key="item.id">
     {{ item.name }}
   </div>

   <!-- Bad -->
   <div v-for="item in items">
     {{ item.name }}
   </div>
Copier après la connexion
  1. Évitez les styles en ligne :
    • Préférez utiliser les classes CSS plutôt que les styles en ligne pour une meilleure maintenabilité.
   <!-- Good -->
   <div class="item">{{ item.name }}</div>

   <style scoped>
   .item {
     color: red;
   }
   </style>

   <!-- Bad -->
   <div :style="{ color: 'red' }">{{ item.name }}</div>
Copier après la connexion

Pratiques des composants

  1. Réutilisabilité des composants :
    • Concevez des composants réutilisables et configurables via des accessoires.
   // Good
   <BaseButton :label="buttonLabel" :disabled="isDisabled" @click="handleClick" />

   // Bad
   <button :disabled="isDisabled" @click="handleClick">{{ buttonLabel }}</button>
Copier après la connexion
  1. Validation des accessoires :
    • Validez toujours les accessoires en utilisant le type et les attributs requis.
   // Good
   props: {
     title: {
       type: String,
       required: true
     },
     age: {
       type: Number,
       default: 0
     }
   }

   // Bad
   props: {
     title: String,
     age: Number
   }
Copier après la connexion
  1. Évitez les méthodes longues :
    • Décomposez les méthodes longues en méthodes plus petites et plus gérables.
   // Good
   methods: {
     fetchData() {
       this.fetchUserData();
       this.fetchPostsData();
     },
     async fetchUserData() { ... },
     async fetchPostsData() { ... }
   }

   // Bad
   methods: {
     async fetchData() {
       const userResponse = await fetch('api/user');
       this.user = await userResponse.json();
       const postsResponse = await fetch('api/posts');
       this.posts = await postsResponse.json();
     }
   }
Copier après la connexion
  1. Évitez les propriétés calculées avec des effets secondaires :
    • Les propriétés calculées doivent être utilisées pour des calculs purs et non pour des effets secondaires.
   // Good
   computed: {
     fullName() {
       return `${this.firstName} ${this.lastName}`;
     }
   }

   // Bad
   computed: {
     fetchData() {
       // Side effect: fetch data inside a computed property
       this.fetchUserData();
       return this.user;
     }
   }
Copier après la connexion

Pratiques des modèles

  1. Utilisez v-show contre v-if :
    • Utilisez v-show pour basculer la visibilité sans ajouter/supprimer des éléments du DOM, et v-if lors du rendu conditionnel des éléments.
   <!-- Good: Use v-show for toggling visibility -->
   <div v-show="isVisible">Content</div>

   <!-- Good: Use v-if for conditional rendering -->
   <div v-if="isLoaded">Content</div>

   <!-- Bad: Use v-if for simple visibility toggling -->
   <div v-if="isVisible">Content</div>
Copier après la connexion
  1. Évitez les modèles volumineux :
    • Gardez les modèles propres et petits ; divisez-les en composants plus petits s’ils deviennent trop gros.
   <!-- Good: Small, focused template -->
   <template>
     <div>
       <BaseHeader />
       <BaseContent />
       <BaseFooter />
     </div>
   </template>

   <!-- Bad: Large, monolithic template -->
   <template>
     <div>
       <header>...</header>
       <main>...</main>
       <footer>...</footer>
     </div>
   </template>
Copier après la connexion

Pratiques de gestion de l'État

  1. Utilisez Vuex pour la gestion de l'état :
    • Utilisez Vuex pour gérer des états complexes sur plusieurs composants.
   // Good
   // store.js
   export default new Vuex.Store({
     state: { user: {} },
     mutations: {
       setUser(state, user) {
         state.user = user;
       }
     },
     actions: {
       async fetchUser({ commit }) {
         const user = await fetchUserData();
         commit('setUser', user);
       }
     }
   });
Copier après la connexion
  1. Éviter la mutation d'état directe dans les composants :
    • Utilisez des mutations pour modifier l'état de Vuex plutôt que de muter directement l'état des composants.
   // Good
   methods: {
     updateUser() {
       this.$store.commit('setUser', newUser);
     }
   }

   // Bad
   methods: {
     updateUser() {
       this.$store.state.user = newUser; // Direct mutation
     }
   }
Copier après la connexion

Gestion des erreurs et débogage

  1. Gestion globale des erreurs :
    • Utilisez le gestionnaire d'erreurs global de Vue pour détecter et gérer les erreurs.
   Vue.config.errorHandler = function (err, vm, info) {
     console.error('Vue error:', err);
   };
Copier après la connexion
  1. Fournir les commentaires des utilisateurs :
    • Fournissez des commentaires clairs aux utilisateurs lorsqu'une erreur se produit.
   // Good
   methods: {
     async fetchData() {
       try {
         const data = await fetchData();
         this.data = data;
       } catch (error) {
         this.errorMessage = 'Failed to load data. Please try again.';
       }
     }
   }

   // Bad
   methods: {
     async fetchData() {
       try {
         this.data = await fetchData();
       } catch (error) {
         console.error('Error fetching data:', error);
       }
     }
   }
Copier après la connexion

En adhérant à ces pratiques supplémentaires, vous pouvez améliorer encore la qualité, la maintenabilité et l'efficacité de vos applications Vue.js.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal