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

Всем привет. Подскажите пожалуйста ответ на мой вопрос. У меня

есть n чистых функций, которые должны использоваться в одном единственном компоненте. Правильно ли хранить такие функции в одном единственном файле (utils.js например), который будет как хранилище функций для компонентов?
В моем понимании, если функция используется только в одном компоненте, то ее стоит хранить в самом компоненте. Но если таких функций, используемых в этом компоненте много, то лучше их вынести куда-то, чтоб не засорять код компонента.

30 ответов

10 просмотров

почему они засоряют код компонента, если они и являются кодом компонента?

Alexey- Автор вопроса
Ivan 🧑‍🚀
почему они засоряют код компонента, если они и явл...

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

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

Alexey- Автор вопроса
Ivan 🧑‍🚀
https://sova.dev/ru/why-utils-and-helpers-is-a-dum...

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

Alexey
да, тут речь идет о переиспользуемых функциях, а я...

ну я бы сначала крепко задумался про “почему их много” и “почему они все относятся только к этому компоненту”, а не “куда их положить"

Ivan 🧑‍🚀
https://sova.dev/ru/why-utils-and-helpers-is-a-dum...

Интересная статья, но мне кажется такой подход стоит применять, если над проектом работает команда от 4-х / 5-ти разработчиков, и соответственно проект довольно большой, в иных случая можно обойтись всё таки utils/helpers.

Alexey Ermakov
у нас 40 человек и есть utils

Мне пока не приходилось работать в большой команде, но вам как раз, мне кажется, стояло бы задуматься о том, что автор пишет в статье)

Tolik ⚡️
Мне пока не приходилось работать в большой команде...

мне кажется, команда сама в состоянии решить, нужны ли им утилити функции отдельно или нет

Tolik ⚡️
Интересная статья, но мне кажется такой подход сто...

а какая проблема это делать одному человеку? слишком сложно вынести общий код в отдельную директорию?

アレクサンダー・バキマトフ
а какая проблема это делать одному человеку? слишк...

Не всегда есть бюджет, чтобы долго задумываться над каждым кусочком кода и часто проект нужно разрабатывать быстро, реалии)

Tolik ⚡️
Не всегда есть бюджет, чтобы долго задумываться на...

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

Volodymyr Klimov
Это "быстро" очень быстро закончится)

Да я знаю, но не все это понимают)

Tolik ⚡️
Да я знаю, но не все это понимают)

Не, если у вас мвп, который при удачном раскладе все-равно выбросят и будут переписывать с нуля - да, в принципе, пофиг на архитектуру

Volodymyr Klimov
Не, если у вас мвп, который при удачном раскладе в...

удачный мвп к сожалению обычно не выбрасывают а просят вкидывать в него новые фичи:D

Roman Usherenko
не надо так 🙂

та понятно что не надо, но по моему опыту кейс: "напишите мвп, если берем раунд/получаем хороший фидбек/другие критерии то будете писать с нуля нормально" - очень редкий, обычно просят на базе этого мвп же продолжать, а говно которое наворотили за те 2 недели марафона "отложим в техдолг и будем потихоньку разгребать" 😄

アレクサンダー・バキマトフ
та понятно что не надо, но по моему опыту кейс: "н...

с опытом это можно в условие ставить, что, мол, делаем всё как положено :)

Alexey Ermakov
с опытом это можно в условие ставить, что, мол, де...

если заранее смог договориться то вообще ништяк конечно)

アレクサンダー・バキマトフ
та понятно что не надо, но по моему опыту кейс: "н...

Ну у меня так было говорили нужна производительность вот код а он по последним коммитам был написан 10 лет назад и улучшения производительности получилась лишь тогда когда переписал все на новый стиль и убрал уйму библиотек которые на данное время уже поддерживаются в js и проект ожил и кода стало на 10к строк меньше)

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
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
Карта сайта