Size: a a a

JavaScript — русскоговорящее сообщество

2020 March 30

B

Baxxter in JavaScript — русскоговорящее сообщество
Yuri Katkov
ну вот гляди. Комментарий - это всего лишь текст, и когда ты его пишешь, у тебя вместо одного места, в котором описана логика (в КОДЕ) появляется два места (в коде и в комментарии). Через полгодика развития проекта комментарий начинает врать - потому что код поменяли, а комментарий - забыли/забили/не поняли/не посчитали нужным поменять.
Комментарий должен описывать не ЧТО делает код, а ПОЧЕМУ. Тогда никакого дублирования не происходит
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
код должен описывать это самое “почему”
источник

B

Baxxter in JavaScript — русскоговорящее сообщество
Yuri Katkov
код должен описывать это самое “почему”
Не должен. Допустим вы положили в запрос или ответ одинаковые данные в 2 разных поля, чтобы обеспечить временно совместимость бека и фронта, пока они не придут к одному контракту - как вы это кодом опишите?
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
ну тут налицо коммент вида “todo - исправить это говно”
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
он отличается от остальных комментов тем, что должен бы исчезнуть. Такие комменты очень даже нужны, опять-таки Clean Code, та же глава 4.
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
В нашей конторе коммент todo должен сопровождаться номером задачки в Jira и есть метрика - динамика todo-шек. Если их количество не уменьшается - это значит, что код зарастает костылями, не проводятся рефакторинги, и надо выяснять, по чьей вине.
источник

E

Evgeniy 🍀 in JavaScript — русскоговорящее сообщество
Yuri Katkov
В нашей конторе коммент todo должен сопровождаться номером задачки в Jira и есть метрика - динамика todo-шек. Если их количество не уменьшается - это значит, что код зарастает костылями, не проводятся рефакторинги, и надо выяснять, по чьей вине.
единственное, к чему вас может привести подобная палочная система - к отбитию желания писать TODO комментарии
источник

E

Evgeniy 🍀 in JavaScript — русскоговорящее сообщество
В итоге, количество костылей будет расти, но вы об этом никогда не узнаете, потому что эта метрика показывает не количество костылей, а количество TODO комментариев
источник

R

Robert in JavaScript — русскоговорящее сообщество
Ребят кто может объяснить почему данный код будет выполняться с задержкой экрана ? При условии что массив arr будет очень большим

var a = 0;
for (let i = 0; i < arr.length; i += 1 ) {
  a = a + arr[i];
}
console.log(a)

И как это решить? Тут вопрос в eventLoop
источник

AP

Arnold Pataki in JavaScript — русскоговорящее сообщество
Robert
Ребят кто может объяснить почему данный код будет выполняться с задержкой экрана ? При условии что массив arr будет очень большим

var a = 0;
for (let i = 0; i < arr.length; i += 1 ) {
  a = a + arr[i];
}
console.log(a)

И как это решить? Тут вопрос в eventLoop
потому что js однопоточный. это значит, что выполняетя 1 операция за единицу времени
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
Evgeniy 🍀
В итоге, количество костылей будет расти, но вы об этом никогда не узнаете, потому что эта метрика показывает не количество костылей, а количество TODO комментариев
да нет, к этому она не приводит, потому что на код ревью выкатываются небольшие куски. Там костыли сразу видны и тебе ревьюер говорит - пиши тудушку, создавай задачку.
источник

Z

Zaff in JavaScript — русскоговорящее сообщество
Robert
Ребят кто может объяснить почему данный код будет выполняться с задержкой экрана ? При условии что массив arr будет очень большим

var a = 0;
for (let i = 0; i < arr.length; i += 1 ) {
  a = a + arr[i];
}
console.log(a)

И как это решить? Тут вопрос в eventLoop
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
вообще, наличие кучи задач на рефакторинг в бэклоге - это просто мечта любого программиста, как мне кажется. Блин, это официальное обоснование для начальства работать над качеством, а не набрасывать все новые фичи
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
поэтому todo-шек у нас пишут много
источник

Z

Zaff in JavaScript — русскоговорящее сообщество
Robert
Ребят кто может объяснить почему данный код будет выполняться с задержкой экрана ? При условии что массив arr будет очень большим

var a = 0;
for (let i = 0; i < arr.length; i += 1 ) {
  a = a + arr[i];
}
console.log(a)

И как это решить? Тут вопрос в eventLoop
я не совсем хорошо разбираюсь в ивент лупе и в sync/async, но по-моему тут никак не решишь, т.к. ты пытаешься писать в одну и ту же переменную внутри цикла
чтобы в каждой итерации цикла получать переменную a со значением с предыдущей итерации, тебе обязательно нужно ее блокировать для других параллельных задач
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
Robert
Ребят кто может объяснить почему данный код будет выполняться с задержкой экрана ? При условии что массив arr будет очень большим

var a = 0;
for (let i = 0; i < arr.length; i += 1 ) {
  a = a + arr[i];
}
console.log(a)

И как это решить? Тут вопрос в eventLoop
а что этот код призван делать?
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
сумму элементов массива?
источник

T

Tom Holland in JavaScript — русскоговорящее сообщество
Всем привет!
Подскажите пожалуйста в практике вот это вот пригодится? А то за*б*лся  уже читать скучную информацию

https://learn.javascript.ru/testing-mocha
источник

IS

Igor Savin in JavaScript — русскоговорящее сообщество
нет, все все равно уже тестируют в jest
источник

YK

Yuri Katkov in JavaScript — русскоговорящее сообщество
Robert
Ребят кто может объяснить почему данный код будет выполняться с задержкой экрана ? При условии что массив arr будет очень большим

var a = 0;
for (let i = 0; i < arr.length; i += 1 ) {
  a = a + arr[i];
}
console.log(a)

И как это решить? Тут вопрос в eventLoop
если да, то я бы переписал на вот такое:

var a = reduce((acc, cur) => acc + cur, 0);
источник