Funzioni

Regole per la definizione e uso delle funzioni in progetti PANDEV.

🎯 Function Declarations vs Expressions

Function Declarations

❌ Evitare:

// bad - function expression when declaration is better
const processUser = function(user) {
  return user.name.toUpperCase()
}

// bad - anonymous function expression
const users = data.map(function(item) {
  return item.user
})

✅ Preferire:

// good - function declaration for top-level functions
function processUser(user) {
  return user.name.toUpperCase()
}

// good - arrow function for short callbacks
const users = data.map(item => item.user)

// good - named function expressions when needed
const processUser = function processUser(user) {
  // The name helps with debugging
  return user.name.toUpperCase()
}

Arrow Functions

❌ Evitare:

✅ Preferire:

🔧 Function Parameters

Parameter Defaults

❌ Evitare:

✅ Preferire:

Destructuring Parameters

❌ Evitare:

✅ Preferire:

Rest Parameters

❌ Evitare:

✅ Preferire:

🚀 Async Functions

Async/Await

❌ Evitare:

✅ Preferire:

Error Handling in Async Functions

❌ Evitare:

✅ Preferire:

🎨 Higher-Order Functions

Function Composition

❌ Evitare:

✅ Preferire:

Currying and Partial Application

❌ Evitare:

✅ Preferire:

🔄 Pure Functions

Function Purity

❌ Evitare:

✅ Preferire:

📊 Function Performance

Memoization

❌ Evitare:

✅ Preferire:

Queste regole per le funzioni garantiscono codice JavaScript più leggibile, performante e maintainable nei progetti PANDEV.

Last updated