@JSlang

Страница 274 из 2237
Sergey
02.11.2016
18:42:06
инстаграм я всегда воспринимал как фотогаллерею из фото на мобилку - типа 500px но все фото сделаны на мобилку. Когда туда начали грузить все что попало, меня это несколько разочаровало

тумблером я мало пользовался, но вообще наверное он близок к тому о чем мы говорим

Lazarev
02.11.2016
19:04:19
@iamstarkov Еще хотел спросить по fp. Использование констант в функциях нарушает их чистоту? const isCodeOk = R.pipe( R.prop("statusCode"), R.equals(RESPONSE_CODE_OK) )

Vladimir
02.11.2016
19:07:26
Лучше сделать isOk = r.curry((codeOk, code) => r.pipe(...)(code))

Google
Sergey
02.11.2016
19:07:40
@diedsmiling константа - это значение а не состояние.

@diedsmiling не надо путать "переменную" и "состояние". Если переменная никогда не меняется - у нее нет побочных эффектов

более того

Vladimir
02.11.2016
19:08:12
И потом isCodeOk = isOk(constant)

Вот такое позволит сделать функцию более чистой

Sergey
02.11.2016
19:08:48
function pure() { for(let i = 0; i<10; i++ ) { // do something } return result; }

внутри есть состояние - но снаружи нет сайд эффектов = чистая функция

Vladimir
02.11.2016
19:09:38
@diedsmiling не надо путать "переменную" и "состояние". Если переменная никогда не меняется - у нее нет побочных эффектов
Я думаю если константа рекварится из другого файла то это так себе чистая функция

Sergey
02.11.2016
19:10:00
@iamstarkov если подключается модуль - то норм

Vladimir
02.11.2016
19:10:17
Скажем так не всегда

Sergey
02.11.2016
19:10:31
если это происходит идемпотентно - то нет состояния

Vladimir
02.11.2016
19:10:31
Но в 90% случаях будет норм

Google
Vladimir
02.11.2016
19:11:23
Так как я описал проще тестировать будет

Sergey
02.11.2016
19:11:25
а как вы живете с процедурным require в своем чистом функциональном мире?)

Vladimir
02.11.2016
19:11:51
Не нужно будет опираться на внешний файл с константами

Будет просто функция

Lazarev
02.11.2016
19:12:42
@iamstarkov Понятно, спасибо!

Sergey
02.11.2016
19:14:29
@iamstarkov ну и императивное.

@iamstarkov я сильно сомневаюсь что замена "императивного" require на "декларативный "import" решает проблему того, что ты подключаешь)

и добавляет чистоты

Vladimir
02.11.2016
19:15:14
не меняет

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

Sergey
02.11.2016
19:15:45
хотя конечно возможность подгружать в рантайме модули опасна

Vladimir
02.11.2016
19:15:52
а сделать её более гибкой

Sergey
02.11.2016
19:16:19
> но я и предлагаю не полагаться на внешний файл с константами в написании необходимой функции а если один и тот же набор констант используется в разных модулях?

Каїн
02.11.2016
19:16:32
Можно грузить модули с % шансом что клиенту они понадобятся

Кек

Sergey
02.11.2016
19:16:36
объеденить их в один модуль нет возможности так как будет нарушение SRP

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

и модуль чист

Vladimir
02.11.2016
19:18:11
в целом ты прав

Google
Vladimir
02.11.2016
19:18:28
но если функцию можно определить без полагания на тот файл, то лучше так сделать

Sergey
02.11.2016
19:18:40
ну это так же

но это означает что у тебя нет и необходимости в этих константах, так ведь?)

ибо уж лучше модуль + константы чем волшебные значения

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

Vladimir
02.11.2016
19:19:52
а потом из неё на дерайвить конечных функций const isCodeOk = isOk(RESPONSE_CODE_OK) const isHealthCheckOk = isOk(HEALTHCHECK_CODE_OK)

Sergey
02.11.2016
19:20:38
ну это ж уже устранение проверок)

ну мол ты таким образом операции отдельные превращает в константы, к слову прикольная штука...

нам похапэшникам о таком только мечтать(

пойду на ноде попишу

в php добрая половина разработчиков до сих пор не понимают чем плохи глобальные переменные... у нас только два скоупа - глобальный и локальный...(

Lazarev
02.11.2016
19:22:18
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)

Vladimir
02.11.2016
19:22:20
Sergey
02.11.2016
19:23:10
@iamstarkov ну я тебя понял... я плачусь про php

Lazarev
02.11.2016
19:23:51
да, точно, спасибо)

Vladimir
02.11.2016
19:24:08
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)
но я предложил карри, для того, чтобы ты verifyCode мог использовать как обычную функцию с двумя аргументами

Алексей
02.11.2016
19:25:24
Sergey
02.11.2016
19:25:49
https://github.com/lstrojny/functional-php
ты решил поиздеваться?)

Vladimir
02.11.2016
19:26:27
ты решил поиздеваться?)
вроде норм либа, с доками и даже тестами

Google
Admin
ERROR: S client not available

Sergey
02.11.2016
19:26:52
вроде норм либа, с доками и даже тестами
я пользовался ей года полтора назад

Lazarev
02.11.2016
19:27:17
но я предложил карри, для того, чтобы ты verifyCode мог использовать как обычную функцию с двумя аргументами
Ага, я понял. Но вызвать с 2-я аргументами не придется. У меня эти фнукции в композициях будут использоваться, нужно арность сохранять.

Sergey
02.11.2016
19:27:27
https://plugins.jetbrains.com/plugin/8477?pr=phpStorm

хотя с такой штукой еще норм

если бы еще pipe оператор в php приняли

Алексей
02.11.2016
19:29:18
я пользовался ей года полтора назад
не какраз хотел спросить пользовался ли и как работается с ней?

Sergey
02.11.2016
19:29:58
в php нет лексических скоупов, от этого код сильно пухнет.

в целом работать норм

Alexander
02.11.2016
19:30:14
Кстати, кто на шестерке пишет, часто ли нужна тру-иммутабельность, а не const и приходится цеплять immutable.js?

Sergey
02.11.2016
19:30:27
у меня она использовалась в методах для описания бизнес правил

в целом с задачей справлялась а более-менее настроенный шторм даже не вызывал боли

но на js такие вещи в разы приятнее делать

Алексей
02.11.2016
19:32:09
Кстати, кто на шестерке пишет, часто ли нужна тру-иммутабельность, а не const и приходится цеплять immutable.js?
почитай про https://en.wikipedia.org/wiki/Persistent_data_structure Immutable.js это не только набор сахара но и полезные структуры данных которые позволяют экономить память где возможно

[Anonymous]
02.11.2016
19:32:19
для пхпшира, жс как отдушина, сколько раз не встречаю, все хвалят жс :3

Sergey
02.11.2016
19:32:28
Славься Рич Хикки

или babel + async/await

и не писал на языках типа шарпов)

или котлина

Google
Sergey
02.11.2016
19:33:27
а если вспоминать времена node 0.10

то js боль

Sergey
02.11.2016
19:34:46
Говорят что Рич Хикки сначала придумал персистентные коллекции и только потому придумал куда их впихнуть)

Алексей
02.11.2016
19:36:37
Neil Sarnak, Robert E. Tarjan (1986). "Planar Point Location Using Persistent Search Trees" (с) Wikipedia

Vladimir
02.11.2016
20:51:29
если бы еще pipe оператор в php приняли
его в джс тоже не приняли, R.pipe наше всё

Rafael
02.11.2016
20:55:28
ребзи, что можете посоветовать для rest фронта для совсем малюсенького проекта?

Rafael
02.11.2016
20:57:04
vuejs
почему он?

Страница 274 из 2237