Vlad
Будет просто функция
Vlad
Alexandr
@iamstarkov Понятно, спасибо!
Sergey
@iamstarkov ну и императивное.
Sergey
@iamstarkov я сильно сомневаюсь что замена "императивного" require на "декларативный "import" решает проблему того, что ты подключаешь)
Sergey
и добавляет чистоты
Vlad
не меняет
Vlad
но я и предлагаю не полагаться на внешний файл с константами в написании необходимой функции
Sergey
хотя конечно возможность подгружать в рантайме модули опасна
Vlad
а сделать её более гибкой
Sergey
> но я и предлагаю не полагаться на внешний файл с константами в написании необходимой функции
а если один и тот же набор констант используется в разных модулях?
Serhii
Можно грузить модули с % шансом что клиенту они понадобятся
Serhii
Кек
Sergey
объеденить их в один модуль нет возможности так как будет нарушение SRP
Sergey
я к тому что это константы, они от того что в отдельном модуле константами быть не перестают. А константы можно воспринимать как тупые значения. А стало быть они чисты
Sergey
и модуль чист
Vlad
в целом ты прав
Vlad
но если функцию можно определить без полагания на тот файл, то лучше так сделать
Sergey
ну это так же
Sergey
но это означает что у тебя нет и необходимости в этих константах, так ведь?)
Sergey
ибо уж лучше модуль + константы чем волшебные значения
Sergey
а если без констант можно обойтись то и вопроса об их подключении не возникает. Ну и если константы нужны только в этом модуле то так же нет вопросов о необходимости их куда-то выносить
Vlad
а потом из неё на дерайвить конечных функций
const isCodeOk = isOk(RESPONSE_CODE_OK)
const isHealthCheckOk = isOk(HEALTHCHECK_CODE_OK)
Sergey
ну это ж уже устранение проверок)
Sergey
ну мол ты таким образом операции отдельные превращает в константы, к слову прикольная штука...
Sergey
нам похапэшникам о таком только мечтать(
Sergey
пойду на ноде попишу
Sergey
в php добрая половина разработчиков до сих пор не понимают чем плохи глобальные переменные... у нас только два скоупа - глобальный и локальный...(
Alexandr
const verifyCode = constant => {
return R.pipe(
R.prop("statusCode"),
R.equals(constant)
)
}
const isOkCode = verifyCode(RESPONSE_CODE_OK)
const isServerErrorCode = verifyCode(RESPONSE_CODE_SERVER_ERROR)
Vlad
Sergey
@iamstarkov ну я тебя понял... я плачусь про php
Vlad
Alexandr
да, точно, спасибо)
Vlad
Алексей
Sergey
Sergey
Sergey
https://plugins.jetbrains.com/plugin/8477?pr=phpStorm
Sergey
хотя с такой штукой еще норм
Sergey
если бы еще pipe оператор в php приняли
Sergey
в php нет лексических скоупов, от этого код сильно пухнет.
Sergey
в целом работать норм
Alexander
Кстати, кто на шестерке пишет, часто ли нужна тру-иммутабельность, а не const и приходится цеплять immutable.js?
Sergey
у меня она использовалась в методах для описания бизнес правил
Sergey
в целом с задачей справлялась а более-менее настроенный шторм даже не вызывал боли
Sergey
но на js такие вещи в разы приятнее делать
Anonymous
для пхпшира, жс как отдушина, сколько раз не встречаю, все хвалят жс :3
Sergey
Славься Рич Хикки
Sergey
Sergey
или babel + async/await
Sergey
и не писал на языках типа шарпов)
Sergey
или котлина
Sergey
а если вспоминать времена node 0.10
Sergey
то js боль
Alexander
Sergey
Говорят что Рич Хикки сначала придумал персистентные коллекции и только потому придумал куда их впихнуть)
Алексей
Neil Sarnak, Robert E. Tarjan (1986). "Planar Point Location Using Persistent Search Trees" (с) Wikipedia
Rafael 🌵
ребзи, что можете посоветовать для rest фронта для совсем малюсенького проекта?
Vadim
Rafael 🌵
Rafael 🌵
а не например ангуляр какой нибудь
Vadim
легкий
Oleg
knockout :)
Nikolay
@Fl0pZz https://preactjs.com/ 3kb достаточно легко?
Alexander
Кстати, а кто тут из фрон-энд селебрити кроме Вовы Старкова есть?
Rafael 🌵
Вопрос не в лёгкости либы, а в лёгкости её применения для проекта
Rafael 🌵
Например реакт для неё избыточен, как и ангуляр
Rafael 🌵
Но писать его jquery уже тоже плохо
Anonymous
> jquery
> knockout
Anonymous
😄
Oleg
http://i.stack.imgur.com/ssRUr.gif
Anonymous
Vlad
Дима