«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Освоение аргументов функций: меньше значит больше в JavaScript

Освоение аргументов функций: меньше значит больше в JavaScript

Опубликовано 3 ноября 2024 г.
Просматривать:489

Mastering Function Arguments: Less is More in JavaScript

Привет, коллеги-разработчики! ? Сегодня давайте углубимся в важнейший аспект написания чистого и удобного в сопровождении JavaScript: управление аргументами функции

Проблема со слишком большим количеством аргументов

Вы когда-нибудь сталкивались с функцией, которая выглядит так?

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

Если да, то вы знаете, как больно запоминать порядок аргументов или, что еще хуже, отладку, когда кто-то неизбежно их путает. ?

Правило двух аргументов

Вот золотое правило: Старайтесь ограничить свои функции двумя или меньшим количеством аргументов.
Почему? Вот несколько веских причин:

  • Улучшенная тестируемость: меньше аргументов означает меньше тестовых примеров, охватывающих все возможности.
  • Повышенная читабельность: назначение функции легче понять с первого взгляда.
  • Снижение когнитивной нагрузки: разработчикам, использующим эту функцию, меньше мысленного манипулирования параметрами.

Но что, если мне нужно больше параметров?

Отличный вопрос! Вот здесь-то и проявляется магия деструктуризации объектов. Посмотрите это:

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
});

Преимущества этого подхода

  • Имитирует именованные параметры: аргументы можно указывать в любом порядке. Самодокументируемость: сигнатура функции четко показывает, какие свойства ожидаются. Значения по умолчанию: легко установить значения по умолчанию для дополнительных параметров. Предотвращает побочные эффекты: деструктуризация примитивных значений клонов, помогающая избежать случайных мутаций. Linter-Friendly: инструменты могут предупреждать вас о неиспользуемых свойствах.

Совет для профессионалов: усиление TypeScript

Если вы используете TypeScript, вы можете пойти еще дальше:

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

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

Это добавляет безопасность типов и автодополнение, делая ваш код еще более надежным!

Подведение итогов

Приняв этот шаблон, вы обнаружите, что ваши функции станут более гибкими, простыми в использовании и обслуживании. Это небольшое изменение может сильно повлиять на качество вашего кода.

Что вы думаете об этом подходе? Есть ли у вас какие-либо другие советы по управлению аргументами функции? Давайте обсудим в комментариях!

Удачного программирования! ?

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/56_kode/mastering-function-arguments-less-is-more-in-javascript-7a6?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить это
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3