Быдлокодерство и неочевидные ошибки.
Вот писал функцию, теперь работает. Даже тесты втулил и проверил пограничные случаи. Казалось: все - феншуй приближается.
Какое было удивление, когда поставил ESlint. Он тут же нашел с десяток проблем в моем коде.
Например. В теле функции мутирует параметр. То есть я передал функции какой то параметр и потом провожу над ним какие то действия. "И в чем же проблема?" - спросил я себя, ведь тут три строи кода всего то. Итак все понятно.
Одако:
1. Появляется плохая привычка
2. Нет понимание потенциальной опасности
Вот писал функцию, теперь работает. Даже тесты втулил и проверил пограничные случаи. Казалось: все - феншуй приближается.
Какое было удивление, когда поставил ESlint. Он тут же нашел с десяток проблем в моем коде.
Например. В теле функции мутирует параметр. То есть я передал функции какой то параметр и потом провожу над ним какие то действия. "И в чем же проблема?" - спросил я себя, ведь тут три строи кода всего то. Итак все понятно.
Одако:
1. Появляется плохая привычка
2. Нет понимание потенциальной опасности
Присвоение переменных, объявленных как параметры функции, может вводить в заблуждение и приводить к запутанному поведению, поскольку изменение параметров функции также приведет к изменению объекта аргументов. Зачастую назначение параметров функции является непреднамеренным и указывает на ошибку или ошибку программиста. Это правило также может быть настроено на сбой при изменении параметров функции. Побочные эффекты на параметры могут вызвать нелогичное выполнение и затруднить поиск ошибок.и ошибок подобного уровня с десяток в рабочем-отлаженом коде.
Forwarded from Oleksandr Naumkin
Привет Коттаны)
Я мяукаю изо всех сил, чтоб перобутся в коттаны. В темной, несознательной части моей жизни успел побывать: посудомойщиком, официантом, уборщиком, директором хостела, совладельцем http://easyms.co/ ...
Теперь, оглядываясь назад, я понимаю, что каждый из этих этапов был необходим для осознания - я хочу быть только веб разработчиком.
Встал на путь просветления в ноябре 2018 года, можно сказать с нуля. Был на Хекслете немного. Потом посмотрел в сторону Коттанов и... не смог оторваться!
Котики, спасибо, что вы есть!
=(^-^)=
Я мяукаю изо всех сил, чтоб перобутся в коттаны. В темной, несознательной части моей жизни успел побывать: посудомойщиком, официантом, уборщиком, директором хостела, совладельцем http://easyms.co/ ...
Теперь, оглядываясь назад, я понимаю, что каждый из этих этапов был необходим для осознания - я хочу быть только веб разработчиком.
Встал на путь просветления в ноябре 2018 года, можно сказать с нуля. Был на Хекслете немного. Потом посмотрел в сторону Коттанов и... не смог оторваться!
Котики, спасибо, что вы есть!
=(^-^)=
easyms.ua
EasyMS - Хмарна система керування готелем, хостелом, глемпінгом Ізімс
Тут должен заметить два пункта:
1. Я точно знаю сколько времени я провел за написанием кода для алгоритма. В этом помогет расширение для VScode, которое считает статистику по проектам, вплоть до минуты.
https://wakatime.com/
2. Время работы надо проектом больше норматива еще из-за того, что прежде писания кода - я писал тесты. Думаю что всего написание тестов заняло + настройка среды заняло около трех часоов для всех 16 заданий.
https://github.com/aymkin/algoritmsFcc
1. Я точно знаю сколько времени я провел за написанием кода для алгоритма. В этом помогет расширение для VScode, которое считает статистику по проектам, вплоть до минуты.
https://wakatime.com/
2. Время работы надо проектом больше норматива еще из-за того, что прежде писания кода - я писал тесты. Думаю что всего написание тестов заняло + настройка среды заняло около трех часоов для всех 16 заданий.
https://github.com/aymkin/algoritmsFcc
WakaTime
WakaTime - Dashboards for developers
Automatically track coding time and AI usage across your editors. See time by project and language, AI-generated code, and estimated model costs. Start for free.
FreeCodeCamp один из лучших ресурсов для изучения JS, именно поэтому значительная часть программы Коттанов состоит из элементов FCC.
Даже при этом порою сильно удивляет. Череда простейших заданий вдруг сменяется таской надо которой можно тупить часам и днями. А потом в подсказках видно такое решение, которое даже близко не похоже на только что пройденный материал.
Удивляет... Выносит мозг... Заставляет эксперементировать...
Даже при этом порою сильно удивляет. Череда простейших заданий вдруг сменяется таской надо которой можно тупить часам и днями. А потом в подсказках видно такое решение, которое даже близко не похоже на только что пройденный материал.
Удивляет... Выносит мозг... Заставляет эксперементировать...
Одним из самых "мозголюбящих" методов для работы с массивами это
Мне сильно помогл вот это видео: https://youtu.be/g1C40tDP0Bk
https://t.me/myWebWay
.reduce().Мне сильно помогл вот это видео: https://youtu.be/g1C40tDP0Bk
https://t.me/myWebWay
YouTube
JavaScript Array Reduce
JavaScript Array Reduce
🔥Get the COMPLETE course (83% OFF - LIMITED TIME ONLY): http://bit.ly/2KZea52
Subscribe for more videos:
https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1
Want to learn more from me? Check out my blog…
🔥Get the COMPLETE course (83% OFF - LIMITED TIME ONLY): http://bit.ly/2KZea52
Subscribe for more videos:
https://www.youtube.com/channel/UCWv7vMbMWH4-V0ZXdmDpPBA?sub_confirmation=1
Want to learn more from me? Check out my blog…
Счастье есть!
В этом может убедится каждый, кто за один день впервые попробовал:
* испльзовать методы map, reduce, filter, every, some
* в решениях задач использовал регулярные выражения
* смог написать функцию, использующую каррирование
* без подсказки пишет функции типа
В этом может убедится каждый, кто за один день впервые попробовал:
* испльзовать методы map, reduce, filter, every, some
* в решениях задач использовал регулярные выражения
* смог написать функцию, использующую каррирование
* без подсказки пишет функции типа
const urlSlug = (title) => title.toLowerCase().trim().split(/\W\s*/).join('-');Quokka.js - запускает код в фоне сразу по мере ввода и отображает различные результаты выполнения прямо в редакторе кода.
https://quokkajs.com/
https://quokkajs.com/
Если вы вдруг занимаетесь по туториалу Коттанов, то настоятельно рекомендую перед
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/regular-expressions
Algorithm Scripting Challenges в разделе JavaScript Basics изучить Регулярные выражения. Без них переходить за красную черту нет смысла.https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/regular-expressions
Основы функционального программирования JS:
- читсые функции (детерминированные и без побочных эффектов)
- неизменяемость входных параметров функции (иммутабельность данных)
- использование функций выслего порядка (функции, которые в качестве параметров принимают другие функции)
- использование методов массива вместо for (forEach, map, every, some, reduce, filter...)
- стрелочные функции (стрелочный синтаксис)
Чуть больше тут: https://youtu.be/AKzrO5y0B2E
и тут: https://proglib.io/p/fp_basics/
- читсые функции (детерминированные и без побочных эффектов)
- неизменяемость входных параметров функции (иммутабельность данных)
- использование функций выслего порядка (функции, которые в качестве параметров принимают другие функции)
- использование методов массива вместо for (forEach, map, every, some, reduce, filter...)
- стрелочные функции (стрелочный синтаксис)
Чуть больше тут: https://youtu.be/AKzrO5y0B2E
и тут: https://proglib.io/p/fp_basics/
