Regole

Regole dettagliate di stile JavaScript per progetti PANDEV seguendo ESLint Standard e best practices moderne.

πŸ“‹ Sezioni

Fondamentali

  • Generale - Principi base e best practices JavaScript

  • Sintassi - ES6+, arrow functions, destructuring

  • Layout - Spacing, indentation, line breaks

  • Denominazione - camelCase, PascalCase, conventions

Strutture del Linguaggio

  • Funzioni - Function declarations, async/await, closures

  • Oggetti e Array - Object/array manipulations, methods

  • Moduli - Imports/exports, ES modules, organization

Pattern Avanzati

  • Asincrono - Promises, async/await, concurrency

  • Eccezioni - Error handling, try/catch, custom errors

  • Commenti - JSDoc, inline comments, documentation

🎯 Principi PANDEV JavaScript

1. Modern JavaScript (ES6+)

2. Functional Programming

3. Async/Await Pattern

4. Error Handling

πŸ”§ ESLint Rules Overview

Standard Rules

  • no-var - Use const/let instead of var

  • prefer-const - Use const when possible

  • no-unused-vars - No unused variables

  • no-console - No console.log in production

  • eqeqeq - Use === instead of ==

PANDEV Custom Rules

  • prefer-arrow-callback - Use arrow functions for callbacks

  • prefer-template - Use template literals over concatenation

  • object-shorthand - Use shorthand object properties

  • prefer-destructuring - Use destructuring when possible

πŸ“š Code Quality Metrics

Function Complexity

  • Max lines per function: 20

  • Max parameters: 4

  • Cyclomatic complexity: < 10

File Organization

  • Max lines per file: 300

  • One export per file (for components/classes)

  • Group imports by type (libraries, local)

Naming Conventions

  • Variables/Functions: camelCase

  • Classes/Constructors: PascalCase

  • Constants: UPPER_SNAKE_CASE

  • Files: kebab-case.js

πŸš€ Performance Guidelines

Memory Management

Efficient Operations

πŸ§ͺ Testing Considerations

Testable Code

Queste regole seguono gli standard PANDEV e sono enforce tramite ESLint e Prettier. Ogni sezione contiene esempi dettagliati con pattern βœ… good e ❌ bad per chiarezza.

Last updated

Was this helpful?