Size: a a a

Node.js — русскоговорящее сообщество

2020 May 05

Г🌝

Голубь🌚 🌝Игорь... in Node.js — русскоговорящее сообщество
но пошел вкус в очко. если он мешает эффективности. код всеравно читабельный остается
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
Голубь🌚 🌝Игорь
@ZloyPrizrak Все больше замечаю, что люди прибегают к тому что бы даже в классах декларировать методы как стрелочные функции. это удобно. не нужно биндить.
Если это функциональные компоненты реакта так там вообще не юзать стрелочные функции, это мазохизм.
в классах лучше не декларировать так функции, потом проблемы с переопределением при наследовании
источник

R

Rustam in Node.js — русскоговорящее сообщество
Голубь🌚 🌝Игорь
@ZloyPrizrak Все больше замечаю, что люди прибегают к тому что бы даже в классах декларировать методы как стрелочные функции. это удобно. не нужно биндить.
Если это функциональные компоненты реакта так там вообще не юзать стрелочные функции, это мазохизм.
При этом производительность падает, если компонент это, например, элемент списка
источник

Г🌝

Голубь🌚 🌝Игорь... in Node.js — русскоговорящее сообщество
Artem Zuev
в классах лучше не декларировать так функции, потом проблемы с переопределением при наследовании
это да
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Artem Zuev
А давайте маленько похоливарим на тему кто какой способ описания функций использует и почему:

- вариант 1: function func1(...) {...};
- вариант 2: const func2 = (...) => {...};

Хорошо бы услышать не только "мне так удобнее", а более или менее аргументированный ответ, почему этот способ лучше, чем другой.
с function ты сразу понимаешь, что это функция. а с const еще нужно думать переменная это или функция.

плюс function работает по всей области видимости (можно вызвать функцию до ее определения)
источник

Г🌝

Голубь🌚 🌝Игорь... in Node.js — русскоговорящее сообщество
Rustam
При этом производительность падает, если компонент это, например, элемент списка
в реакте в любом случае сосалити если много элементов списка. а пагинация(скроллинговая/постраничная) это фиксит.
источник

R

Rustam in Node.js — русскоговорящее сообщество
Голубь🌚 🌝Игорь
в реакте в любом случае сосалити если много элементов списка. а пагинация(скроллинговая/постраничная) это фиксит.
Но ты все равно тратишь ресурсы на создание функций при каждом создании нового элемента, хотя при обычных методах этого бы не было
источник

Г🌝

Голубь🌚 🌝Игорь... in Node.js — русскоговорящее сообщество
Rustam
При этом производительность падает, если компонент это, например, элемент списка
всеравно юзаю функциональные компоненты. разницы особо никакой
источник

Г🌝

Голубь🌚 🌝Игорь... in Node.js — русскоговорящее сообщество
Rustam
Но ты все равно тратишь ресурсы на создание функций при каждом создании нового элемента, хотя при обычных методах этого бы не было
рендерю широкую таблицу в реалтайме от данных из сокета. нет дискомфорта и провисаний
источник

R

Rustam in Node.js — русскоговорящее сообщество
Голубь🌚 🌝Игорь
рендерю широкую таблицу в реалтайме от данных из сокета. нет дискомфорта и провисаний
Ну так я и не говорю, что он будет, мы же обсуждаем плюсы одного и минусы другого, минус есть и он очевиден
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Rustam
Но ты все равно тратишь ресурсы на создание функций при каждом создании нового элемента, хотя при обычных методах этого бы не было
крокфорд (тот самый) считает, что в настоящее время этой просадкой производительности можно пренебречь. правда он вообще за отказ от классов. типа надо так писать:

function Create() {
 return Object.freeze({ method1, method2 });

 function method1() {}
 function methdo2() {}
}


и никаких проблем с this
источник

Г🌝

Голубь🌚 🌝Игорь... in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
крокфорд (тот самый) считает, что в настоящее время этой просадкой производительности можно пренебречь. правда он вообще за отказ от классов. типа надо так писать:

function Create() {
 return Object.freeze({ method1, method2 });

 function method1() {}
 function methdo2() {}
}


и никаких проблем с this
есть что-то в этом
источник

R

Rustam in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
крокфорд (тот самый) считает, что в настоящее время этой просадкой производительности можно пренебречь. правда он вообще за отказ от классов. типа надо так писать:

function Create() {
 return Object.freeze({ method1, method2 });

 function method1() {}
 function methdo2() {}
}


и никаких проблем с this
Ну пусть так пишет, какие проблемы)
источник

R

Rustam in Node.js — русскоговорящее сообщество
Думаю, что если придет не Крокфорд, а Вася и начнет так писать в проекте, то Васе быстро покажут где выход)
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Rustam
Думаю, что если придет не Крокфорд, а Вася и начнет так писать в проекте, то Васе быстро покажут где выход)
если это нарушит стайлгайды проекта, то правильно сделают.

а вот если это новый проект и вася сможет обосновать, то почему нет
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
ну рекомендации определенных личностей - это одно, а вот лично для себя... я не про использование в качестве параметров аля arr.map(item => {....}) - тут понятно, что стрелочные банально даже удобнее, не говоря про this и иные плюсы...

я про функции, которые, к примеру, экпортируются из файла...
- export function func1(...)
- export const func2 = (...)
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Artem Zuev
в классах лучше не декларировать так функции, потом проблемы с переопределением при наследовании
Композиция вместо наследования
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Artem Zuev
ну рекомендации определенных личностей - это одно, а вот лично для себя... я не про использование в качестве параметров аля arr.map(item => {....}) - тут понятно, что стрелочные банально даже удобнее, не говоря про this и иные плюсы...

я про функции, которые, к примеру, экпортируются из файла...
- export function func1(...)
- export const func2 = (...)
ты сможешь func2 вызвать до ее определения?
источник

AZ

Artem Zuev in Node.js — русскоговорящее сообщество
вот у кого какие предпочтения
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
с function ты сразу понимаешь, что это функция. а с const еще нужно думать переменная это или функция.

плюс function работает по всей области видимости (можно вызвать функцию до ее определения)
@ZloyPrizrak я написал
источник