Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Collection v4 (https://javascript.ru/forum/project/44796-collection-v4.html)

kobezzza 04.02.2014 12:04

melky, я в курсе про это, только где аргументы против @expose ?:) Юзать его можно, юзать его удобно, но просто когда его юзаешь нужно думать. Иначе бы его просто не было:)

kobezzza 04.02.2014 12:06

Цитата:

Сообщение от melky (Сообщение 295759)
они, вроде, прописаны в экстернах и включены в компилер.

Это частные случай, хранилище может называться хоть superStorage и реализовывать драйвер для хранения как угодно.

Вид хранилища у меня задаётся как Storage.lib = '...' поэтому нужно такое эскпортирование.

melky 04.02.2014 12:55

Цитата:

Сообщение от kobezzza (Сообщение 295761)
melky, я в курсе про это, только где аргументы против @expose ?:) Юзать его можно, юзать его удобно, но просто когда его юзаешь нужно думать. Иначе бы его просто не было:)

@export :
Y.prototype.t = function(a) {
    /* A CODE */
};
Y.prototype.FOO= Y.prototype.t;


@expose :
Y.prototype.FOO = function(a) {
    /* A CODE */
};


разница - в использовании. при экспорте использование - это Y.t, при expose - Y.FOO

Ну и исчо при компилировании некоторые методы выносятся в функции.

У меня был метод без аругментов.
Obj.foo = function () {  alert(this.bar) }
// Используется так :
Obj.foo();


Теперь он стал такой функцией :

function foo (a) {
    alert(a.bar)
}
// Используется так :
foo(this);


Хотя как и экспорты, expose эту фишку убивает (проверил сейчас).

Наверное, наш спор похож на "табы VS пробелы" и похожие, но у меня плохое предчувствие насчёт @expose, поэтому и не юзаю :)

melky 04.02.2014 13:01

kobezzza, вся документация находится в Readme.md ?

kobezzza 04.02.2014 13:03

Цитата:

Сообщение от melky (Сообщение 295769)
kobezzza, вся документация находится в Readme.md ?

Ну в ридми скорее описание основного (90%), сама дока в jsdoc.

melky 04.02.2014 13:29

Жаль, экстернов нет :( нипосжимать.

Попробую пощупать либу в след. проекте.

Кстати, хотел вот сделать pull request на unrolling loops, но не смог разобраться в исходниках и коммитах :Р

kobezzza 04.02.2014 13:37

Цитата:

Сообщение от melky (Сообщение 295772)
Жаль, экстернов нет :( нипосжимать.

Дык сжатая версия https://github.com/kobezzza/Collecti...lection.min.js

Кстати можно сделать свою сборку либы:

node build


А в файле build.jsn можно выкинуть не нужное.

Цитата:

Сообщение от melky (Сообщение 295772)
Кстати, хотел вот сделать pull request на unrolling loops, но не смог разобраться в исходниках и коммитах :Р

Ну кривые коммиты - это мой косяк, признаю, теперь буду за собой следить:)

А в исходниках что не понятно? Либа лежит в папке lib, итерационные методы в папке mult, все методы имеют jsdoc и описание.
Основные файлы имеют расширение .jsn (а .js - это файлы сгенериные транслятором).

Развёртка циклов профита не даёт, т.к. современные JS VM в этом плане оч прокачались и сами всё делают, я пробывал, но потом выпилил за ненадобностью:)

Но копать тут:
https://github.com/kobezzza/Collecti...t/compiler.jsn

cyber 05.02.2014 00:43

Цитата:

Сообщение от kobezzza
Ну и в третьих просто глянул бы, как сделано у меня:

даже не подозревал что ты выложил этот файл, спс что носом ткнул)

kobezzza 05.02.2014 08:56

Цитата:

Сообщение от cyber (Сообщение 295886)
даже не подозревал что ты выложил этот файл, спс что носом ткнул)

Ну вся либа вместе с исходником в открытом доступе, как обычно:)
Исходники в папке /lib/, сборка в папке /build/ (там также есть сжатая версия)

a.malitsky 06.02.2014 23:57

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

Лично я в одном проекте уже третью версию использовал, сейчас буду применять четвёртую во втором.


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