"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Dominando argumentos de função: menos é mais em JavaScript

Dominando argumentos de função: menos é mais em JavaScript

Publicado em 2024-11-03
Navegar:160

Mastering Function Arguments: Less is More in JavaScript

Olá, colegas desenvolvedores! ? Hoje, vamos mergulhar em um aspecto crucial da escrita de JavaScript limpo e sustentável: gerenciar argumentos de função

O problema com muitos argumentos

Você já encontrou uma função parecida com esta?

function createMenu(title, body, buttonText, cancellable, theme, fontSize, callback) {
  // ...a whole lot of logic here
}

Se sim, você conhece a dor de tentar lembrar a ordem dos argumentos, ou pior, depurar quando alguém inevitavelmente os confunde. ?

A regra dos dois argumentos

Aqui está uma regra de ouro: Tente limitar suas funções a dois argumentos ou menos.
Por que? Aqui estão alguns motivos convincentes:

  • Testabilidade aprimorada: Menos argumentos significam menos casos de teste para cobrir todas as possibilidades.
  • Legibilidade aprimorada: é mais fácil entender rapidamente o propósito de uma função.
  • Carga cognitiva reduzida: Menos malabarismo mental de parâmetros para desenvolvedores que usam a função.

Mas e se eu precisar de mais parâmetros?

Ótima pergunta! É aqui que entra a magia da desestruturação de objetos. Confira isto:

function createMenu({ title, body, buttonText, cancellable, theme = 'light', fontSize = 16, callback = () => {} }) {
  // Your implementation here
}

// Usage
createMenu({
  title: "Settings",
  body: "Adjust your preferences",
  buttonText: "Save",
  cancellable: true
});

Os benefícios desta abordagem

  • Simula parâmetros nomeados: Você pode fornecer argumentos em qualquer ordem. Autodocumentação: A assinatura da função mostra claramente quais propriedades são esperadas. Valores padrão: Defina facilmente padrões para parâmetros opcionais. Previne efeitos colaterais: Desestrutura os valores primitivos dos clones, ajudando a evitar mutações acidentais. Linter-Friendly: as ferramentas podem avisá-lo sobre propriedades não utilizadas.

Dica profissional: TypeScript Boost

Se estiver usando TypeScript, você pode dar um passo adiante:

interface MenuOptions {
  title: string;
  body: string;
  buttonText: string;
  cancellable: boolean;
  theme?: 'light' | 'dark';
  fontSize?: number;
  callback?: () => void;
}

function createMenu(options: MenuOptions) {
  // Implementation
}

Isso adiciona segurança de tipo e preenchimento automático, tornando seu código ainda mais robusto!

Concluindo

Ao adotar esse padrão, você verá que suas funções se tornarão mais flexíveis, mais fáceis de usar e mais simples de manter. É uma pequena mudança que pode ter um grande impacto na qualidade do seu código.

O que você acha dessa abordagem? Você tem alguma outra dica para gerenciar argumentos de função? Vamos discutir nos comentários!

Boa codificação! ?

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/56_kode/mastering-function-arguments-less-is-more-in-javascript-7a6?1 Se houver alguma violação, entre em contato com [email protected] para excluir isto
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3