LINUX.ORG.RU

Ответ на: комментарий от vvn_black

Если, остальной код тоже функциональный

Ну щас функциональный код есть во всех JS-проектах, как на фронте, так и на беке.

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

Deleted ()
Ответ на: комментарий от Deleted

Ну щас функциональный код есть во всех JS-проектах, как на фронте, так и на беке.

Скорее, элементы функционального кода. )

Ну, если вместо циклов - рекурсия, то и flow control ленивыми выражениями, а не операторами. )

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

vvn_black ★★★★ ()

Почему не норма?

Потому что при беглом просмотре сложно заметить. Мне больше нравится такая логика - если в результате сравнения идет вызов каких-то функций, создание каких-то объектов или еще что-то такое (действие) - писать через "if", а если результат сравнения является значением какой-то переменной (то есть действие тут это как раз присваивание) - писать в одну строку, но в виде тернарного оператора.

micronekodesu ★★ ()
Ответ на: комментарий от deep-purple
if (isSilent) {
    doSomething()
}
needVerbose = (isSilent) ? true : false;

То есть мне удобнее\логичнее\нагляднее когда "сразу" понятно, что будет с результатом - в однострочном варианте понятно что главное для нас - записать какое-то значение, а в варианте с if - выполнить какие-то инструкции (ну для меня так).

micronekodesu ★★ ()

Это норма?

Это терпимо, так как работает.

Почему норма?

Потому что ты сам определяешь норму или соглашаешься с нормой определённой кем-то другим, если такая норма тебя устраивает, то норма.

Почему не норма?

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

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от MyTrooName

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

Vit ★★★★★ ()
Ответ на: комментарий от Vit

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

Вот именно. Это тупо неуважение к коллегам. Лично для себя, по одеялом, пусть хоть как извращается, но совать такое в публичный код - это свинство.

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

Я раньше тоже думал, что так пишут только упоротые школьники. Но случайно наткнулся, что это юзается в жикваери. Так что все-таки вкусовщина, которая зависит от обстоятельств.

Vit ★★★★★ ()
Ответ на: комментарий от no-such-file

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

Moondancer ()

Когда ты спрашиваешь о чем-то в контексте стайлгайдов, то и надо отталкиваться от конкретного стайлгайда. Правила не бывают в отрыве от других правил.

Вот, например, пуплярный нынче стайлгайд AirBnB для публичного кода https://github.com/airbnb/javascript#control-statements--value-selection говорит, что так как ты хочешь, делать нельзя. А следовательно, если ты работаешь над проектом, где соблюдается этот стайлгайд, твой код не примут. Почему? Потому что так сказал стайлгайд. Он для того и существует, чтобы исключить все субъективные мнения на счет чего-либо.

mimico ()
Ответ на: комментарий от Moondancer

предлагают наглядный и элегантный способ не превращать код в индусский столбик

А ничего, что этот способ делает немного другое? К тому же я не понимаю, что за религия запрещает писать

if (!isSilent) dispatch(...);
в одну строчку и не трахать людям мозг?

no-such-file ★★★★★ ()
Ответ на: комментарий от no-such-file

что за религия запрещает писать

function вместо fn? И вообще, COBOL FTW.

и не трахать людям мозг

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

Moondancer ()
Ответ на: комментарий от Moondancer

которые не умеют в логические операторы

При чём тут умение? Тебе русским языком сказано - это не равнозначная замена. Иди дедуктируй, почему.

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)

Это не норма потому, что теряется и загрязняется «человеческий» смысл, поскольку вы превращаете условный оператор («если что-то, сделать нечто») в логическое выражение. Примерно то же самое, что вместо a -= b писать a += -b.

Nastishka ★★★★ ()