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 (μέσω plugins).

    // Παράδειγμα .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 απευθείας στον επεξεργαστή.