Sobes.tech
Middle

Cum monitorizezi respectarea stilului de cod în proiectul tău?

sobes.tech AI

Răspuns de la AI

Pentru a menține un stil de cod unitar, folosesc următoarele instrumente și procese:

  1. ESLint: Configur rules pentru formatarea și calitatea codului (de exemplu, Airbnb sau Standard). ESLint ajută la detectarea erorilor de sintaxă, probleme de indentare, variabile neutilizate etc.

    // Exemplu .eslintrc.js
    module.exports = {
      extends: 'airbnb-base', // Sau alt stil ales
      rules: {
        // Suprascriere sau adăugare de reguli
        'semi': ['error', 'always'],
        'quotes': ['error', 'single']
      }
    };
    
  2. Prettier: Integrez Prettier pentru formatare automată a codului. Se ocupă de spații, salturi de linie, puncte și virgule și alte detalii de formatare, lucrând împreună cu ESLint (prin plugin-uri).

    // Exemplu .prettierrc.json
    {
      "semi": true,
      "singleQuote": true,
      "printWidth": 100
    }
    
  3. Husky și lint-staged: Configur hook-uri pre-commit cu Husky. Cu lint-staged rulez ESLint și Prettier doar pentru fișierele modificate (staged). Acest lucru asigură că doar codul formatat și verificat ajunge în repository.

    // Exemplu package.json (partea)
    {
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}": [
          "eslint --fix",
          "prettier --write"
        ],
        "*.{css,scss,less}": [
          "stylelint --fix", // Dacă folosesc Stylelint
          "prettier --write"
        ],
        "*.{html,vue,svelte}": [
          "prettier --write"
        ]
      }
    }
    
  4. Revizuiri de cod: În procesul de revizuire a codului, acord o atenție respectării convențiilor de stil stabilite, chiar dacă instrumentele automate au omis ceva sau există nuanțe neacoperite de reguli.

  5. Documentație: Mențin o documentație minimă despre stilul de cod acceptat în proiect (de exemplu, în README sau CONTRIBUTING.md), astfel încât noii membri ai echipei să poată să se familiarizeze rapid cu regulile.

  6. Integrare în IDE: Configurez editorii (VS Code, WebStorm etc.) pentru formatare automată la salvare și afișarea erorilor ESLint direct în editor.