Sobes.tech
Middle

Как следите за спазването на стил на кода във вашия проект?

sobes.tech AI

Отговор от AI

За поддържане на единен стил на код, използвам следните инструменти и процеси:

  1. ESLint: Настройвам правила за форматиране и качество на кода (например, Airbnb или Standard). ESLint помага да се открият синтактични грешки, проблеми с отстъпите, неизползвани променливи и др.

    // Пример .eslintrc.js
    module.exports = {
      extends: 'airbnb-base', // Или друг избран стил
      rules: {
        // Презаписване или добавяне на правила
        'semi': ['error', 'always'],
        'quotes': ['error', 'single']
      }
    };
    
  2. Prettier: Интегрирам Prettier за автоматично форматиране на кода. Той се грижи за интервалите, пренасянето на редове, точките и запетайките и други детайли за форматиране, работейки в сътрудничество с ESLint (чрез плъгини).

    // Пример .prettierrc.json
    {
      "semi": true,
      "singleQuote": true,
      "printWidth": 100
    }
    
  3. Husky и lint-staged: Настройвам hooks за pre-commit с Husky. С lint-staged стартирам ESLint и Prettier само за променените (staged) файлове. Това гарантира, че в репозиторията попада само форматиран и проверен код.

    // Пример package.json (част)
    {
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}": [
          "eslint --fix",
          "prettier --write"
        ],
        "*.{css,scss,less}": [
          "stylelint --fix", // Ако използвам Stylelint
          "prettier --write"
        ],
        "*.{html,vue,svelte}": [
          "prettier --write"
        ]
      }
    }
    
  4. Прегледи на кода: В процеса на преглед на кода обръщам внимание дали се спазват установените правила за стил, дори ако автоматичните инструменти са пропуснали нещо или има нюанси, които не са покрити от правилата.

  5. Документация: Поддържам минимална документация за приетия стил на кода в проекта (например, в README или CONTRIBUTING.md), за да могат новите членове на екипа бързо да се запознаят с правилата.

  6. Интеграция в IDE: Настройвам редакторите (VS Code, WebStorm и др.) за автоматично форматиране при запазване и показване на грешки от ESLint директно в редактора.