Sobes.tech
Middle

Kako pratite poštovanje stila koda u vašem projektu?

sobes.tech АИ

Одговор од АИ

За одржавање јединственог стила кода користим следеће алате и процесе:

  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 директно у уреднику.