Шлюхи без блекджека, блекджек без шлюх. Войти !bnw Сегодня Клубы

Switch is a popular code smell in many OO languages (when you follow OO paradigm) and in most of cases it indicates that there should be a polymorphic call there. When you're about to write a switch, stop for a minute and double-check your design. Perhaps you can make a polymorphic call instead.

ну охуеть теперь

Рекомендовали: @minoru
#CURFE8 / @plhk / 3751 день назад

а що не так,
#CURFE8/1XK / @hate-engine / 3751 день назад
#CURFE8/JML / @plhk --> #CURFE8/1XK / 3751 день назад
ну каэш, давайте value-type типы наследовать от объектов и наслаждаться быстротой-жаватой
#CURFE8/5DH / @mugiseyebrows / 3751 день назад
Кстати, поясните, if норм или тоже не ооп?
#CURFE8/432 / @plhk / 3750 дней назад
@plhk ти що, читати не вмієш: >stop for a minute and double-check your design. >*Perhaps* you can make a polymorphic call instead.
#CURFE8/FRZ / @hate-engine --> #CURFE8/432 / 3750 дней назад
@hate-engine Да это понятно, я чисто теоретически спрашиваю.
#CURFE8/CNR / @plhk --> #CURFE8/FRZ / 3750 дней назад
@plhk ненорм на самом деле, только это уже не не ооп, а не функционально + не типо-теоретично: http://existentialtype.wordpress.com/2011/03/15/boolean-blindness/ tl;dr: лущ патерн-матчить вместо ифов, так легщ верифицировать коректность кода; каждый твой иф не учитывает *СМЫСЛ* полученного булеана, и тебе его нужно держать в голове (хотя это легко может помнить машина!) в обоих разветвлениях control flow, плюс то же для всех уровней вложенности текущего скоупа. ну и вообще, мне лично давно не нравятся применения булеана там, где изначально нужен ADT с двумя нуль-арными конструкторами. В принципе, норм, когда такой тип `data SuccessCode = Success | Failure` заменяют на подобающе обозванный бул: `isSuccess : Bool` — но это окрашивается в отчетливый меркаптаново-сероводородных запах в случае `data AuthMethod = Radius | Tacacs`. Да, этот enum из двух констант точно так же изоморфен булу `data Bool = True | False`, но вот такое применения була (`isAuthRadius : Bool`) пахнет просто пиздец
#CURFE8/RE8 / @anonymous --> #CURFE8/432 / 3750 дней назад
@anonymous пук
#CURFE8/0DV / @hate-engine --> #CURFE8/RE8 / 3750 дней назад
@anonymous switch это и есть патерн матчинг для быдла
#CURFE8/32E / @plhk --> #CURFE8/RE8 / 3750 дней назад
@hate-engine поперди мне тута
#CURFE8/5NJ / @anonymous --> #CURFE8/0DV / 3750 дней назад
@plhk речь о том, что патерн-матчинг сохраняет лексически декомпозицию исходных данных по рантаймовым вариантам, что делает тот же наболевший NPE analysis тривиальным наколенным упражнением а if не сохраняет — чтоб доказывать что-то внутри then-else веток, уже нужен sat-солвер (NP-полный в общем случае)
#CURFE8/L8C / @ulidtko --> #CURFE8/32E / 3750 дней назад
@ulidtko чо. "if C then T else E" = "match C with [ True -> T | False -> E]".
#CURFE8/IPM / @gds --> #CURFE8/L8C / 3750 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.