Sobes.tech
Middle

Come monitori il rispetto dello stile di codice nel tuo progetto?

sobes.tech AI

Risposta dell'AI

Per mantenere uno stile di codice uniforme, utilizzo i seguenti strumenti e processi:

  1. ESLint: Configuro regole di formattazione e qualità del codice (ad esempio, Airbnb o Standard). ESLint aiuta a individuare errori di sintassi, problemi di indentazione, variabili non utilizzate, ecc.

    // Esempio .eslintrc.js
    module.exports = {
      extends: 'airbnb-base', // O altro stile scelto
      rules: {
        // Sovrascrivere o aggiungere regole
        'semi': ['error', 'always'],
        'quotes': ['error', 'single']
      }
    };
    
  2. Prettier: Integro Prettier per formattare automaticamente il codice. Si occupa di spazi, interruzioni di riga, punti e virgola e altri dettagli di formattazione, lavorando in combinazione con ESLint (tramite plugin).

    // Esempio .prettierrc.json
    {
      "semi": true,
      "singleQuote": true,
      "printWidth": 100
    }
    
  3. Husky e lint-staged: Configuro hook pre-commit con Husky. Con lint-staged eseguo ESLint e Prettier solo sui file modificati (staged). Questo garantisce che venga inviato solo codice formattato e verificato.

    // Esempio package.json (parte)
    {
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}": [
          "eslint --fix",
          "prettier --write"
        ],
        "*.{css,scss,less}": [
          "stylelint --fix", // Se uso Stylelint
          "prettier --write"
        ],
        "*.{html,vue,svelte}": [
          "prettier --write"
        ]
      }
    }
    
  4. Revisione del codice: Durante il processo di revisione del codice, prestare attenzione al rispetto delle convenzioni di stile stabilite, anche se gli strumenti automatici hanno omesso qualcosa o ci sono sfumature non coperte dalle regole.

  5. Documentazione: Mantengo una documentazione minima sullo stile di codice accettato nel progetto (ad esempio, in README o CONTRIBUTING.md), in modo che i nuovi membri del team possano familiarizzare rapidamente con le regole.

  6. Integrazione nell'IDE: Configuro gli editor (VS Code, WebStorm, ecc.) per formattare automaticamente al salvataggio e mostrare gli errori ESLint direttamente nell'editor.