170 похожих чатов

Есть best practice экспорт иерархии для библиотек? Что я имею

в виду, есть много утилити функций разных, они хранятся в общей библиотеке, если их тупо экспортить { func1, func2 ... }, как-то не очень. Знаю, что вроде есть библиотеки, которые по папкам разделяют экспорты, можно еще создавать проперти, что-то в духе:
module.exports = { folder1: {func1, func2 ... } ...}
что из этого посоветуете?

4 ответов

35 просмотров

Помоему лучше импорт всей библиотеки и доступ к отдельным функциям через оператор доступа (точку). Это удобнее в плане чтения кода, то есть у вас вместо роя кучи глобальных, непонятно откуда взявшихся функции есть контекст (lib.fn). Ну и с импортом/экспортом проблема сама по себе отваливается

Nick-Loginov Автор вопроса
Evgeniy Zaykov
Помоему лучше импорт всей библиотеки и доступ к от...

Потому что я считаю, что нужно хоть как-то разделять экспорты, а не сваливать все в кучу, особенно, если они объединены по смыслу.

Вроде exports.lib1 = { fn } exports.lib2 = { fn }

Nick-Loginov Автор вопроса
Evgeniy Zaykov
Вроде exports.lib1 = { fn } exports.lib2 = { fn }

Просто насколько знаю, в некоторых библиотеках экспорт прям по директориям рабоатет, вроде: require('lib/folder/whatever') Но это же явно хуже пропертей, не считаете?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта