Sobes.tech
Middle

Layihənizdə kod stilinə riayət olunmasını necə izləyirsiniz?

sobes.tech Süni İntellekt

AI-dan cavab

Birləşmiş kod stilini qorumaq üçün aşağıdakı alətləri və prosesləri istifadə edirəm:

  1. ESLint: Kodun formatı və keyfiyyəti üçün qaydaları tənzimləyirəm (məsələn, Airbnb və ya Standard). ESLint sintaksis xətalarını, indentasiya problemlərini, istifadə olunmayan dəyişənləri və s. aşkar etməyə kömək edir.

    // Nümunə .eslintrc.js
    module.exports = {
      extends: 'airbnb-base', // və ya başqa seçilmiş stil
      rules: {
        // Qaydaları üst-üstə qoymaq və ya əlavə etmək
        'semi': ['error', 'always'],
        'quotes': ['error', 'single']
      }
    };
    
  2. Prettier: Prettier-i avtomatik kod formatlama üçün inteqrasiya edirəm. Boşluqlar, sətir sonları, nöqtə-vergüllər və digər formatlama detalları ilə məşğul olur, ESLint ilə (pluginlər vasitəsilə) işləyir.

    // Nümunə .prettierrc.json
    {
      "semi": true,
      "singleQuote": true,
      "printWidth": 100
    }
    
  3. Husky və lint-staged: Husky ilə pre-commit hook-larını tənzimləyirəm. lint-staged ilə yalnız dəyişdirilmiş (staged) fayllarda ESLint və Prettier-i işə salıram. Bu, yalnız formatlanmış və yoxlanmış kodun repository-ə daxil olmasını təmin edir.

    // Nümunə package.json (hissə)
    {
      "husky": {
        "hooks": {
          "pre-commit": "lint-staged"
        }
      },
      "lint-staged": {
        "*.{js,jsx,ts,tsx}": [
          "eslint --fix",
          "prettier --write"
        ],
        "*.{css,scss,less}": [
          "stylelint --fix", // Stylelint istifadə edirəmsə
          "prettier --write"
        ],
        "*.{html,vue,svelte}": [
          "prettier --write"
        ]
      }
    }
    
  4. Kod nəzərdən keçirilməsi: Kod nəzərdən keçirmə prosesində, avtomatik vasitələrin qaçırdığı və ya qaydalarla əhatə olunmayan nüanslara diqqət yetirirəm və müəyyən edilmiş kod stilinə riayət olunmasına əmin oluram.

  5. Sənədləşdirmə: Layihədə qəbul edilən kod stilinə dair minimal sənədləşdirmə saxlayıram (məsələn, README və ya CONTRIBUTING.md-də), yeni komanda üzvlərinin qaydaları tez öyrənməsinə imkan verir.

  6. IDE-ə inteqrasiya: Redaktorları (VS Code, WebStorm və s.) konfiqurasiya edirəm, yadda saxlamada avtomatik formatlama və ESLint xətalarını birbaşa redaktorda göstərmək üçün.