Рубрики
Без рубрики

Избегать. Магия Числа

Магические числа, вы видите их каждый день и, вероятно, время от времени использовали их достаточное количество. Что … Tagged with JavaScript, компьютерная наука.

Магические числа, вы видите их каждый день и, вероятно, время от времени использовали их достаточное количество. Что такое волшебные числа и волшебные логические?.

Что ж, я постараюсь определить их оба одновременно, волшебное число (или логическое) является аргументом для функции, вы не знаете, как оно работает, или что он будет делать, и как это повлияет на функцию, Вы просто знаете, что это там, и вы не играете с ним в страхе, что -то сломавшее.

Итак, что бы вы обычно сделали, чтобы узнать, что сделает волшебный номер/логический? Что ж, вы можете посетить документы инструмента, который вы используете, или прочитать исходный код, пытаясь выяснить, что делает эта черная магия и почему он существует в вашей кодовой базе.

Давайте проиллюстрируем это примером,

  check(e) {
    if (e.keyCode === 13) {
      this.attemptSendMessage(e);
    }
  }

Что это делает?. Ну, очевидно, это слушатель событий, поскольку он получает E В качестве аргумента он слушает конкретный ключ-код 13 и когда это соответствует, это вызывает Попытки Анкет Мы не обеспокоены Попытки метод Но давайте рассмотрим номер. На что ссылается номер? Какой ключ это принимает?.

Несколько возможных решений, которые могут прийти на ум, вы не можете делать это

  check(e) {
    console.log(e.code) // logs the key that was pressed
    if (e.keyCode === 13) {
      this.attemptSendMessage(e);
    }
  }

Или вы можете Google и найти вопрос на Stackoverflow. Все это возможные решения, которые в конечном итоге решат этот вопрос о вашем понимании этого магического числа. Тем не менее, лучший способ написать это – хранение магического числа внутри переменной, которая объясняет, какова это число на самом деле.

Если вы попробовали какое-либо из решений выше, вы обнаружите, что номер 13 является ключевым кодом Введите Ключ на клавиатуре.

Теперь, с этим знанием, давайте храним номер внутри переменной и посмотрим, какие изменения, не так ли?

  check(e) {
    const keycodeOfEnter = 13;
    if (e.keyCode === keycodeOfEnter) {
      this.attemptSendMessage(e);
    }
  }

Вы можете заметить разницу?, Ну, мы сохранили число внутри константы и использовали постоянную вместо числа. Теперь, любой разработчик (или себя), когда они смотрят на этот код, теперь он сразу же будет мгновенно, каким это волшебное число, он экономит вам пару минут поиска и поиска.

Вы также должны знать, что Ключевой код был устарел и заменен код . Тогда вы можете заменить его на

check(e) {
    if (e.key == "Enter") {
      this.attemptSendMessage(e);
    }
  }

Всегда старайтесь хранить волшебные числа внутри переменных. Магические числа могут быть расплывчатыми и злыми, потому что вы понятия не имеете, для чего они и что они представляют.

В будущем посте я буду проиллюстрировать дело для волшебных логических. До тех пор, хорошего дня. И спасибо, что прочитали это.

Ссылки по теме

События клавиатуры

Оригинал: “https://dev.to/rockwell/avoid-magic-numbers-57l5”