Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Советы по либе (https://javascript.ru/forum/library-toolkit-framework/80091-sovety-po-libe.html)

maxvolodya 26.04.2020 02:55

Советы по либе
 
Товарищи жээсеры, написал либу для себя и нужд по работе, выложил известно куда. И, так как выложил, и, возможно, будут ей пользоваться не только я и коллеги, подскажи, что бы ты, хотел бы видеть в такой хреновине, и была ли бы полезной?

Сама она тут

Суть библиотеки в том, чтобы облегчить работу с данными в виде массивов, особенно, если у элементов есть некий id. Т.к. лично мне надоело писать одно и то же)

А что тебе не хватает при работе с массивами?

Nexus 26.04.2020 16:08

Цитата:

Сообщение от maxvolodya
особенно, если у элементов есть некий id

Посмотрел на реализацию. Ваш класс IdCollection - обычная коллекция с парой вспомогательных методов.

Чем ваш класс Collection отличается от массива с переименованными методами?
Чем ваш класс IdCollection удобнее, чем обычный массив?
Почему ваш IdCollection не индексирует массив, а тупо каждый раз его полностью перебирает?

По-моему, ваша библиотека несколько бесполезна.

Malleys 27.04.2020 22:38

Цитата:

Сообщение от Nexus
По-моему, ваша библиотека несколько бесполезна.

Она совершенно бесполезна и совершенно никакого отношения к реализации коллекции не имеет.

Цитата:

Сообщение от maxvolodya
И, так как выложил, и, возможно, будут ей пользоваться не только я и коллеги, подскажи, что бы ты, хотел бы видеть в такой хреновине, и была ли бы полезной?

Выглядит как «мне не нравятся массивы в Python, поэтому давай-ка напишу обёртку для списка в C# и громогласно обзову это коллекцией».

Цитата:

Collection - Just a wrapper around the Array, adds methods that make life easier
Какой баг! Притом большинства методов нет! Вам нужно было написать класс, который наследует от Array. Я так понимаю, что ваш метод .getInnerRef() предполагается вызывать для доступа к методам списка? Или предполагается, что нужно заводить сразу две переменные — одну для настоящего списка, другую для обёртки. И замените ваш позор — Collection на более подходящее имя, типа FancyArrayWrapper.

Коллекция — абстрактный тип данных, хранилище объектов без конкретной реализации структуры данных.

Итератор — интерфейс, предоставляющий доступ к элементам коллекции и навигацию по ним.

Примеры типов, реализующих коллекции — список, массив, множество, дерево, граф, стек, кортеж, ассоциативный массив и пр.

Посмотрите на реализацию коллекции, например, в Java — https://github.com/openjdk/jdk/tree/...sses/java/util

Хотя в JS нет специального синтаксиса для описания интерфейсов коллекции и итераторов, однако наличие у объекта O метода Symbol.iterator, реализующего перечисление неких объектов может рассматриваться как реализация интерфейса Iterator, а объект O может считаться в таком случае коллекцией.

Примеры классов в JS, реализующих интерфейс Iterator — Array, String, Map, Set, Uint8Array и пр. Браузерное API — классы NodeList, URLSearchParams и пр. А также генератор, созданный при помощи функций-генератора.

Пример реализации иммутабельных коллекции на JS — https://github.com/immutable-js/immutable-js

Elfix 04.05.2020 17:55

Нуу... заклевали парня...

maxvolodya 05.05.2020 14:19

Да нормально. На менее кислотном форуме мне уже ответили вместо того, чтобы умничать ;)

>>> Почему ваш IdCollection не индексирует массив, а тупо каждый раз его полностью перебирает?
Хотя, стоит признать, эта идея неплохая, и надо будет над этим подумать

Nexus 05.05.2020 15:25

Цитата:

Сообщение от maxvolodya
мне уже ответили вместо того, чтобы умничать

Воу, оказывается давать feedback - это просто умничать.

Вы видимо ожидали, что тут будут ответы типа:
«Ты крут, чувак! Классная библиотека! ...но пользоваться я ей не буду.»

maxvolodya 05.05.2020 16:01

Цитата:

Сообщение от Nexus (Сообщение 523829)
Воу, оказывается давать feedback - это просто умничать

Согласен, по отношению конкретно к Вашему комментарию это я переборщил.

Цитата:

Сообщение от Nexus (Сообщение 523829)
Вы видимо ожидали, что тут будут ответы типа:
«Ты крут, чувак! Классная библиотека! ...но пользоваться я ей не буду.»

Я ожидал предложений, исходя из опыта, чего народу не хватает в работе. Чтобы потом это добавить. Но не вопросов, чем отличается, чем удобнее, там же пара методов - нафиг надо. Я и сам знаю, что там пока мало всего, собственно поэтому и завёл данный топик, который, к слову, называется "советы", а не "вопросы"


Часовой пояс GMT +3, время: 18:50.