9 отличных советов по использованию методов массива Javascript на профессиональном уровне!

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

Хотя я говорю о методах массивов, эти советы применимы и в других ситуациях. Помните о них при написании кода.

Советы

Некоторые из них являются лучшими соглашениями об именах и правилами о том, когда их применять.
Некоторые - это небольшие хитрости, которые помогут сделать ваш код более чистым.
Большинство из них очень самоуверенные 😃.

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

Общие советы

Назовите свои функции

Будущим читателям кода не нужно думать о том, что делает эта функция. Будьте хорошим человеком и используйте значащие имена.

Не передавайте аргументы от одной функции к другой

Методы-массивы вызывают функции, которые были отправлены им с конкретными аргументами. Нет необходимости явно передавать эти аргументы через другую функцию.

Использовать частичное приложение

Вам нужно больше, чем то, что передается вам методом массива? Используйте частичное приложение.

не знаете, что такое частичное приложение? "Проверь это".

Разорвать длинные цепочки или присвоить их переменной / функции

Когда я вижу 3 или 4 уровня методов массива, объединенных в цепочку без каких-либо указаний на результат этой цепочки, я спрашиваю себя: почему? Почему я должен перебирать каждую строку и выяснять, каким будет результат?
Есть два способа решить эту проблему.
1. Разорвать цепочку - присвоить результат каждой строке переменной и оперируйте с ней.
2. Назначьте результат функции или переменной с осмысленным именем.

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

Советы по карте

При преобразовании из типа A в B используйте «toB» в качестве имени функции и «A» или «fromA» в качестве аргумента функции.

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

В этом примере A - это errorCode, а B - это errorMessage.

В этом примере из нашего кода ясно, что мы собираемся делать.
toErrorMessage функция сообщает, что мы преобразуемся в B.
Наш массив должен сообщать нам, что мы работаем с кодами ошибок. Но если мы напортачим с именованием массива, то из аргумента функции ясно, что мы оперируем с A.

Выполнение действий

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

Допустим, мы хотим добавить уникальный идентификатор к массиву пользователей.

Советы по фильтрам

Используйте его, когда это подходящий инструмент для работы

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

Вы действительно не знаете этих методов? Прочтите о них найти, некоторые и все.

Сделайте это как вопрос

Это применимо ко всем условным операторам.
Если возвращаемое значение нашей функции - boolean, то есть true или false, тогда мы должны написать нашу функцию таким образом, чтобы она читалась как вопрос.

Некоторые общие префиксы: is, has, should

Проверяйте наличие нескольких условий за один проход

Если вы хотите проверить несколько условий за один проход, используйте функции ramda, anyPass и allPass, если вы хотите объединить несколько условий при соблюдении SRP.

Например, предположим, что мы хотим получить все четные числа, которые больше 10, ИЛИ нечетные числа, которые меньше 10.

Мы добавили код, но посмотрите на него, так ясно, чего мы хотим достичь!

Если вам не нравится функциональный подход или ваша команда не знакома с ramda, есть другие способы получить тот же результат, например, вставив функции, которые мы написали, в операторы if в первой реализации _16 _.

Хотите применить несколько функций за один проход с помощью карты? посмотрите ramda труба или сочинение .

Есть чем поделиться?

Это были мои самые большие успехи в использовании методов массива.
Есть какие-нибудь советы? Нашли что-то новое или интересное в этом посте?
Оставьте комментарий, поделитесь этим постом с другими разработчиками и не забудьте аплодировать😄