Если вы про картинку с байткодом, то слева - object pattern, а справа - array pattern. Там как раз видно количество строк байткода v8. Где object на 23-й строке заканчивается байткод, а array на 122-й строке
Спасибо, в первую очередь, за комментарий и желание разобраться глубже!
Ну, не совсем так пример был больше для привлечения внимания, так как это очень известная конструкция.
Но суть проблемы это не отменяет, потому что создание итератора каждый раз и который плохо оптимизируется, и при этом человек даже не догадывается об этом - в этом по сути, и был главный посыл всего
Да, вы правы, это как раз каждый раз новый итератор.
1)Суть повествования была в том, чтобы показать, что это итератор, поскольку многие даже не догадываются об этом. 2)Второй пункт - показать что из-за того, что это итератор, и по своей природе плохо оптимизируется, он хуже по производительности чем обжект ассайн паттерн. То есть в случае если мы знаем ключ(индекс) то лучше использовать связывание по ключу
Что касается useState, это просто самый известный пример, который многие увидят и которым заинтересуются. Здесь больше был расчёт на это
А почему это не должно быть применимо? Вопрос уже в том, хотите ли вы заботиться о производительности или нет. Если все делают что-то, это же не означает, что это верно, тем более в современном IT
Так что здесь зависит от команды. Если вы расскажете подробно, почему, и приведете примеры, то команда выслушает вас и, возможно, изменится в лучшую сторону. Если нет, то работа на то и работа, чтобы мы писали там, как хочет команда. Но никто не запрещает писать потом для себя или для своих проектов так, как нужно
Насчет того, действительно ли это увеличит производительность? Это зависит от проекта: если он маленький, то сильного эффекта вы не увидите. Но тут, даже логически подумать, итератор - это довольно сложная для V8 штука, которая сложно оптимизируется. Поэтому array assignment pattern по-любому медленнее. А теперь сложите все useState в том самом React вместе (до кучи) в каждом файле и подумайте, действительно ли что-то меняется или нет
Спасибо большое! А то вчера выкладывал два раза и первый раз что-то залагало, и даже не сохранило в черновики. А второй раз, похоже уже пропустил вот эти косяки при переносе
Вообще, я давно хотел написать статью на эту тему, но всё время откладывал на потом. Однако не так давно увидел видео/стрим Мурыча, и он меня вдохновил осветить эту тему, так как он очень детально показал, что и как. И я взял его примеры за основу. Благодаря этому статья получилась довольно обширной, соответственно, я указал автора, так как многое брал оттуда как основу повествования
Да, ты прям в самую суть попал. Это действительно важная часть, не только когда ты «вдохновлён и летишь», но и когда пишешь в тишину, и не знаешь, услышит ли кто-то вообще.
Это точно заслуживает отдельного внимания. Сам сталкивался с ощущением, что всё, что делаешь — никому не нужно. Но потом через время кто-то находит и говорит: «Спасибо, это мне помогло».
Твоя идея про серию книг, где честно говорится и о плюсах, и о закулисье — это очень мощно. Может быть, даже не про «как писать», а про то, как оставаться в этом состоянии автора, когда вокруг тишина, а ты всё равно продолжаешь.
Хороший пример того, как поляризация мнений работает и в айти 😄 Я не фанат культа «Чистого кода» как священного писания — именно поэтому в тексте и поднимается вопрос контекста. Без него даже самые красивые принципы могут только мешать.
Про "калечит" — возможно, ты просто видел, как советы из книги бездумно применяют не к месту. Такое бывает. Но может быть, дело не в книге, а в том, как мы (или нас) учат её читать.
Это очень вдохновляющая мысль. Мне правда близка идея, что лучшие книги рождаются из реальных, живых диалогов — как вот этот. Формат интервью, кстати, звучит очень интересно. Я подумаю, как это можно было бы реализовать — может быть, даже отдельный раздел или приложение к книге. Или серия постов на ту же тему.
Спасибо тебе за поддержку и идею, вот такие комментарии действительно подталкивают двигаться дальше 🙌
Да, прям в точку! Я тоже замечал: пока не начнёшь формулировать что-то в словах то в голове всё кажется простым и очевидным. А потом бах — и понимаешь, что сам не до конца всё осознавал😄
И правда, иногда простая вещь раскрывается только при попытке объяснить её другому или даже самому себе. Про теорию тоже согласен. Иногда помогает, иногда мешает, особенно если пытаешься строго ей следовать. Мне кажется, важно, чтобы теория не тормозила, а наоборот, помогала разгоняться.
Круто, что у нас с тобой получился такой обмен наблюдениями — прям как мини-глава в книжке 🙌
Спасибо тебе за такой мощный комментарий. Читается как монолог человека, который не просто пишет код, а проживает его на уровне нейронов и сахара в крови :)
Я полностью согласен с мыслью, что программирование — это в первую очередь мышление, почти на уровне тела. Когда ты держишь в голове сложную цепочку, где всё взаимосвязано, — ты будто бы действительно тренируешь не просто мозг, а саму способность удерживать сложность без паники.
Ты очень точно подметил: «не-программисту» такие книги не помогут. Это правда. Но я всё же надеюсь, что если внутри есть это предрасположение — тяга к сложности, к структуре, к порядку среди хаоса — то книга может помочь направить и укрепить это внутреннее чувство. Помочь ему стать увереннее, чтобы сделать свой первый шаг не в темноте, а с пониманием, что «все через это проходили».
Про психологов — да, больная тема. Но если честно, в программировании тоже полно тех, кто говорит: «делай вот так — и будет тебе счастье», а на деле просто продают обёртки. Поэтому стараюсь не учить, а делиться 🙌
Да, у меня ровно такие же ощущения! С одной стороны — вроде всё уже есть, с другой стороны пока не начнёшь делиться, кажется, что чего-то важного не хватает. А когда записываешь или пишешь, сам начинаешь лучше понимать, что думаешь. Очень классно, что ты это подметил, спасибо за отзыв 🙌
Очень классная мысль. И да, она реально пересекается с тем, что я пытался передать в книге. Особенно в частях про архитектуру и декомпозицию: вроде бы всё из простых «кирпичиков», но когда их становится много и они начинают взаимодействовать — вот тут и появляется настоящая сложность.
Мне тоже нравится эта аналогия с нейронами: каждый по отдельности понятен, а вместе — уже настоящая магия. В книге я как раз про это — не столько про код, сколько про то, как думать, чтобы не утонуть в этом всём
Спасибо за такой коммент, он прям тёплый и умный.
Информация
В рейтинге
Не участвует
Зарегистрирован
Активность
Специализация
Фронтенд разработчик, Архитектор программного обеспечения
Если вы про картинку с байткодом, то слева - object pattern, а справа - array pattern. Там как раз видно количество строк байткода v8. Где object на 23-й строке заканчивается байткод, а array на 122-й строке
Спасибо, в первую очередь, за комментарий и желание разобраться глубже!
Ну, не совсем так пример был больше для привлечения внимания, так как это очень известная конструкция.
Но суть проблемы это не отменяет, потому что создание итератора каждый раз и который плохо оптимизируется, и при этом человек даже не догадывается об этом - в этом по сути, и был главный посыл всего
Да, вы правы, это как раз каждый раз новый итератор.
1)Суть повествования была в том, чтобы показать, что это итератор, поскольку многие даже не догадываются об этом.
2)Второй пункт - показать что из-за того, что это итератор, и по своей природе плохо оптимизируется, он хуже по производительности чем обжект ассайн паттерн. То есть в случае если мы знаем ключ(индекс) то лучше использовать связывание по ключу
Что касается useState, это просто самый известный пример, который многие увидят и которым заинтересуются. Здесь больше был расчёт на это
1) Много кода, где людьми возвращается что угодно, как со смыслом, так и бездумно, из разных функций/методов и т. д.
2) Суть статьи была показать разницу: хоть интуитивно и кажется понятным, что оно работает одинаково на самом деле внутри это работает по-разному.
3) А кто говорил, что Object Assignment Pattern это неэффективно?
4) Насчет возвращаемого значения (массив вместо объекта), вот вам банальный до ужаса пример: React хук useState.
Вообще, если честно, я не понял комментария. Суть повествования была в том чтобы привнести ясность, чтобы разработчик понимал вес того, что он пишет
Спасибо в первую очередь за интерес и вопрос!
А почему это не должно быть применимо? Вопрос уже в том, хотите ли вы заботиться о производительности или нет. Если все делают что-то, это же не означает, что это верно, тем более в современном IT
Так что здесь зависит от команды. Если вы расскажете подробно, почему, и приведете примеры, то команда выслушает вас и, возможно, изменится в лучшую сторону. Если нет, то работа на то и работа, чтобы мы писали там, как хочет команда. Но никто не запрещает писать потом для себя или для своих проектов так, как нужно
Насчет того, действительно ли это увеличит производительность? Это зависит от проекта: если он маленький, то сильного эффекта вы не увидите. Но тут, даже логически подумать, итератор - это довольно сложная для V8 штука, которая сложно оптимизируется. Поэтому array assignment pattern по-любому медленнее. А теперь сложите все useState в том самом React вместе (до кучи) в каждом файле и подумайте, действительно ли что-то меняется или нет
Спасибо большое! А то вчера выкладывал два раза и первый раз что-то залагало, и даже не сохранило в черновики. А второй раз, похоже уже пропустил вот эти косяки при переносе
Вообще, я давно хотел написать статью на эту тему, но всё время откладывал на потом. Однако не так давно увидел видео/стрим Мурыча, и он меня вдохновил осветить эту тему, так как он очень детально показал, что и как. И я взял его примеры за основу. Благодаря этому статья получилась довольно обширной, соответственно, я указал автора, так как многое брал оттуда как основу повествования
Да, ты прям в самую суть попал. Это действительно важная часть, не только когда ты «вдохновлён и летишь», но и когда пишешь в тишину, и не знаешь, услышит ли кто-то вообще.
Это точно заслуживает отдельного внимания. Сам сталкивался с ощущением, что всё, что делаешь — никому не нужно. Но потом через время кто-то находит и говорит: «Спасибо, это мне помогло».
Твоя идея про серию книг, где честно говорится и о плюсах, и о закулисье — это очень мощно. Может быть, даже не про «как писать», а про то, как оставаться в этом состоянии автора, когда вокруг тишина, а ты всё равно продолжаешь.
Хороший пример того, как поляризация мнений работает и в айти 😄
Я не фанат культа «Чистого кода» как священного писания — именно поэтому в тексте и поднимается вопрос контекста. Без него даже самые красивые принципы могут только мешать.
Про "калечит" — возможно, ты просто видел, как советы из книги бездумно применяют не к месту. Такое бывает. Но может быть, дело не в книге, а в том, как мы (или нас) учат её читать.
Это очень вдохновляющая мысль. Мне правда близка идея, что лучшие книги рождаются из реальных, живых диалогов — как вот этот. Формат интервью, кстати, звучит очень интересно. Я подумаю, как это можно было бы реализовать — может быть, даже отдельный раздел или приложение к книге. Или серия постов на ту же тему.
Спасибо тебе за поддержку и идею, вот такие комментарии действительно подталкивают двигаться дальше 🙌
Да, прям в точку! Я тоже замечал: пока не начнёшь формулировать что-то в словах то в голове всё кажется простым и очевидным. А потом бах — и понимаешь, что сам не до конца всё осознавал😄
И правда, иногда простая вещь раскрывается только при попытке объяснить её другому или даже самому себе. Про теорию тоже согласен. Иногда помогает, иногда мешает, особенно если пытаешься строго ей следовать. Мне кажется, важно, чтобы теория не тормозила, а наоборот, помогала разгоняться.
Круто, что у нас с тобой получился такой обмен наблюдениями — прям как мини-глава в книжке 🙌
Спасибо тебе за такой мощный комментарий. Читается как монолог человека, который не просто пишет код, а проживает его на уровне нейронов и сахара в крови :)
Я полностью согласен с мыслью, что программирование — это в первую очередь мышление, почти на уровне тела. Когда ты держишь в голове сложную цепочку, где всё взаимосвязано, — ты будто бы действительно тренируешь не просто мозг, а саму способность удерживать сложность без паники.
Ты очень точно подметил: «не-программисту» такие книги не помогут. Это правда. Но я всё же надеюсь, что если внутри есть это предрасположение — тяга к сложности, к структуре, к порядку среди хаоса — то книга может помочь направить и укрепить это внутреннее чувство. Помочь ему стать увереннее, чтобы сделать свой первый шаг не в темноте, а с пониманием, что «все через это проходили».
Про психологов — да, больная тема. Но если честно, в программировании тоже полно тех, кто говорит: «делай вот так — и будет тебе счастье», а на деле просто продают обёртки. Поэтому стараюсь не учить, а делиться 🙌
Спасибо большое за отзыв ! Рад, что этот момент откликнулся :)
Да, у меня ровно такие же ощущения! С одной стороны — вроде всё уже есть, с другой стороны пока не начнёшь делиться, кажется, что чего-то важного не хватает. А когда записываешь или пишешь, сам начинаешь лучше понимать, что думаешь. Очень классно, что ты это подметил, спасибо за отзыв 🙌
Очень классная мысль. И да, она реально пересекается с тем, что я пытался передать в книге. Особенно в частях про архитектуру и декомпозицию: вроде бы всё из простых «кирпичиков», но когда их становится много и они начинают взаимодействовать — вот тут и появляется настоящая сложность.
Мне тоже нравится эта аналогия с нейронами: каждый по отдельности понятен, а вместе — уже настоящая магия. В книге я как раз про это — не столько про код, сколько про то, как думать, чтобы не утонуть в этом всём
Спасибо за такой коммент, он прям тёплый и умный.