Показать сообщение отдельно
  #24 (permalink)  
Старый 23.12.2016, 10:06
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Сообщение от nerv_ Посмотреть сообщение
http://semver.org/

---

Как тебе помягче сказать... Это же лютый треш исходники твоего "фреймворка"
Я его постоянно переписываю. Чтобы выделить код в отдельные компоненты надо хотя бы примерно представлять как часто они будут использоваться, но я последние 30 дней только и думаю о том, что бы мне еще хотелось добавить.

В версии 2.0 запланировано изменение API и уход от подхода коллекторов на свичах - там большинство бардака и разгребется.

Мне вот, например, хочется добавить поддержку анимации градиентов CSS3 для чего есть color animate, который для анимации цветов и animate move для простого просчета значений по времени, а еще есть теперь matrix animate для работы с матрицей трансформаций(она по get computed выставляется в виде matrix(1, 0, 0, 1, 0, 0), а не привычных свойств типа rotote или scale и еще до кучи в радианах, что приходится дважды пересчитывать по технической необходимости).

Плюсом придется делать костыль для распаковки 3D матрицы и ее уравнивания с дефолтной 2D матрицей. Это ощутимый говнокод, но без него работать просто не будет и желаемый функционал не получится хорошим ...
Можно конечно сказать что то вроде 'да говно это все' и плюнуть и ничего не делать, я же решил сделать поддержку некоторых вещей лучше чем в jQuery, меньше по коду и размеру чем в jQuery и сделать это на приемлемом уровне.

Как уж тут без треша?

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

Посмотрите как это сделано у jQuery. Если мой код вы хотя бы прочитать сможете и обслуживать, то там вы просто переломаете ноги ...

Код изначально оптимизирован под максимальную минималистичность и компактность - поэтому выглядит немного трешово.

Дело в том что, как я уже пытался объяснить, при другом подходе вырастет и само количество кода в ощутимых размерах и его сложность.

Пока я в основном наращиваю функционал. А что вам показалось особенно трешовым?

Да и пишу я один, а работы многовато с учетом того, что я трачу на все это хозяйство пока не работаю и нахожусь в больнице на домашнем стационаре по два три часа в день.

Сообщение от nerv_ Посмотреть сообщение
Например, почему у тебя функции проверки типов возвращают null?)
А какая техническая разница в JavaSript условиях иcпользовать null или false? И то и другое работает одинаково ...

Сообщение от nerv_ Посмотреть сообщение
Кстати, isObject должна выглядеть по другому. Почему по другому, предлагаю тебе самому найти ответ)
Согласен. Но код работает и без нее в принципе, а по большому счету пока просто руки не дошли.

Насчет версионности спасибо за ссылку. Задумаюсь(чето там много букафф).

Еще что-то посоветуете?

Последний раз редактировалось xShift, 23.12.2016 в 13:03.
Ответить с цитированием