Sobes.tech
Middle

Jak monitorujesz przestrzeganie stylu kodu w swoim projekcie?

sobes.tech AI

Odpowiedź od AI

Aby utrzymać jednolity styl kodu, korzystam z następujących narzędzi i procesów:

  1. ESLint: Konfiguruję zasady formatowania i jakości kodu (np. Airbnb lub Standard). ESLint pomaga wykrywać błędy składni, problemy z wcięciami, nieużywane zmienne itp.

    // Przykład .eslintrc.js
    module.exports = {
      extends: 'airbnb-base', // lub inny wybrany styl
      rules: {
        // Nadpisanie lub dodanie zasad
        'semi': ['error', 'always'],
        'quotes': ['error', 'single']
      }
    };
    
  2. Prettier: Integruję Prettier do automatycznego formatowania kodu. Zajmuje się spacjami, łamaniem linii, średnikami i innymi szczegółami formatowania, współpracując z ESLint (przez pluginy).

    // Przykład .prettierrc.json
    {
      "semi": true,
      "singleQuote": true,
      "printWidth": 100
    }
    
  3. Husky i lint-staged: Konfiguruję hooki pre-commit za pomocą Husky. Z lint-staged uruchamiam ESLint i Prettier tylko dla zmienionych (staged) plików. Gwarantuje to, że do repozytorium trafia tylko sformatowany i sprawdzony kod.

    // Przykład package.json (część)
    {
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}": [
          "eslint --fix",
          "prettier --write"
        ],
        "*.{css,scss,less}": [
          "stylelint --fix", // Jeśli używam Stylelint
          "prettier --write"
        ],
        "*.{html,vue,svelte}": [
          "prettier --write"
        ]
      }
    }
    
  4. Przeglądy kodu: Podczas procesu przeglądu kodu zwracam uwagę na przestrzeganie ustalonych konwencji stylu, nawet jeśli automatyczne narzędzia coś przeoczyły lub istnieją niuanse nieobjęte regułami.

  5. Dokumentacja: Utrzymuję minimalną dokumentację dotyczącą przyjętego stylu kodu w projekcie (np. w README lub CONTRIBUTING.md), aby nowi członkowie zespołu mogli szybko zapoznać się z zasadami.

  6. Integracja z IDE: Konfiguruję edytory (VS Code, WebStorm itp.) do automatycznego formatowania przy zapisie i wyświetlania błędów ESLint bezpośrednio w edytorze.