Sobes.tech
Middle

Kaip stebite, kad jūsų projekte būtų laikomasi kodo stiliaus?

sobes.tech AI

Atsakymas iš AI

Siekiant išlaikyti vienodą kodo stilių, naudoju šiuos įrankius ir procesus:

  1. ESLint: Konfigūruoju kodo formavimo ir kokybės taisykles (pavyzdžiui, Airbnb arba Standard). ESLint padeda nustatyti sintaksės klaidas, įtraukimo problemas, nenaudojamus kintamuosius ir kt.

    // Pavyzdys .eslintrc.js
    module.exports = {
      extends: 'airbnb-base', // Ar kita pasirinkta stilistika
      rules: {
        // Perrašyti arba pridėti taisykles
        'semi': ['error', 'always'],
        'quotes': ['error', 'single']
      }
    };
    
  2. Prettier: Integruoju Prettier automatiškai formatuoti kodą. Jis rūpinasi tarpais, eilutės pertraukimais, kabutėmis ir kitais formatavimo detalėmis, dirba kartu su ESLint (per papildinius).

    // Pavyzdys .prettierrc.json
    {
      "semi": true,
      "singleQuote": true,
      "printWidth": 100
    }
    
  3. Husky ir lint-staged: Konfigūruoju pre-commit hook'us su Husky. Naudoju lint-staged, kad vykdyčiau ESLint ir Prettier tik pakeistiems failams. Tai užtikrina, kad į saugyklą pateks tik suformatuotas ir patikrintas kodas.

    // package.json pavyzdys (dalys)
    {
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}": [
          "eslint --fix",
          "prettier --write"
        ],
        "*.{css,scss,less}": [
          "stylelint --fix", // Jei naudoju Stylelint
          "prettier --write"
        ],
        "*.{html,vue,svelte}": [
          "prettier --write"
        ]
      }
    }
    
  4. Kodo peržiūra: Kodo peržiūros procese atkreipiu dėmesį į laikymąsi nustatytų susitarimų dėl kodo stiliaus, net jei automatiniai įrankiai ką nors praleidžia arba yra niuansų, kurių taisyklės neapima.

  5. Dokumentacija: Palaikau minimalų dokumentavimą apie priimtą kodo stilių projekte (pavyzdžiui, README arba CONTRIBUTING.md), kad nauji komandos nariai galėtų greitai susipažinti su taisyklėmis.

  6. Integracija į IDE: Konfigūruoju redaktorius (VS Code, WebStorm ir kt.) automatiškai formatuoti ir rodyti ESLint klaidas tiesiogiai redaktoriuje.