|
Монады
|
|||
---|---|---|---|
#18+
hVosttядрёное смешивание языков ) понимаю ещё 1С там всё по-русски (ну почти). Опять ты, Хвост, лезешь туда, в чем не разбираешься... Бить тебя надо по рукам :) http://smev.gosuslugi.ru/portal/api/files/registryfile/2699/Руководство пользователя электронного сервиса СМЭВ.doc] http://smev.gosuslugi.ru/portal/api/files/registryfile/2699/Руководство пользователя электронного сервиса СМЭВ.doc ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 17:42 |
|
Монады
|
|||
---|---|---|---|
#18+
МСУhVosttядрёное смешивание языков ) понимаю ещё 1С там всё по-русски (ну почти). Опять ты, Хвост, лезешь туда, в чем не разбираешься... Бить тебя надо по рукам :) http://smev.gosuslugi.ru/portal/api/files/registryfile/2699/Руководство пользователя электронного сервиса СМЭВ.doc] http://smev.gosuslugi.ru/portal/api/files/registryfile/2699/Руководство пользователя электронного сервиса СМЭВ.doc апять ты со своей кодагенирацией? ну ладна-ладна... убедил чертяка красноричивый ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 18:47 |
|
Монады
|
|||
---|---|---|---|
#18+
ЕвгенийВЭто импорт из единого государственного реестра индивидуальных предпринимателей. Там xml приходит с тегами с кириллицей и есть схема. Быстрее сгенерировать классы и десериализовать стандартными средствами, чем переименовывать такую фигню, как да эт понятно. просто меня всегда убивает эти русские ДатаНачДейств а ещё наименование полей в системах с ограничением на 8 симоволов, типа COD_ANAL ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 18:49 |
|
Монады
|
|||
---|---|---|---|
#18+
Сон Веры Павловныучитывая, что в реальности эти лесенки бывают намного длинее и нетривиальнее пофик, решается доп свойством с понятным именем, типа Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 19:07 |
|
Монады
|
|||
---|---|---|---|
#18+
17-77Сон Веры Павловныучитывая, что в реальности эти лесенки бывают намного длинее и нетривиальнее пофик, решается доп свойством с понятным именем, типа Код: c# 1. 2. 3. 4.
Понижается абстракция и количество повторно используемого кода. Пусть больше пашет компилятор и не аммортизируется клава! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 23:59 |
|
Монады
|
|||
---|---|---|---|
#18+
?. вещь, не ввели еще? вроде не компилится сразу 13 ошибок выдало ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 14:41 |
|
Монады
|
|||
---|---|---|---|
#18+
FatherSql?. вещь, не ввели еще? вроде не компилится сразу 13 ошибок выдало Нэт. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 14:46 |
|
Монады
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныРазумеется. Пока еще для Roslyn допилят свой null propagating , и когда еще это доберется до наших реалий. Для меня лично предпочтительнее написать: Код: c# 1. 2. 3. 4.
чем писать лесенку вида Код: c# 1. 2. 3.
учитывая, что в реальности эти лесенки бывают намного длинее и нетривиальнее. Хотя, конечно, обещаемое в Roslyn смотрится изящнее: Код: c# 1.
вис это для рослина? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 14:48 |
|
Монады
|
|||
---|---|---|---|
#18+
FatherSqlСон Веры ПавловныРазумеется. Пока еще для Roslyn допилят свой null propagating , и когда еще это доберется до наших реалий. Для меня лично предпочтительнее написать: Код: c# 1. 2. 3. 4.
чем писать лесенку вида Код: c# 1. 2. 3.
учитывая, что в реальности эти лесенки бывают намного длинее и нетривиальнее. Хотя, конечно, обещаемое в Roslyn смотрится изящнее: Код: c# 1.
вис это для рослина?Нет, это просто extension method. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 14:50 |
|
Монады
|
|||
---|---|---|---|
#18+
skyANAFatherSqlпропущено... вис это для рослина?Нет, это просто extension method. свой чтоли ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 15:03 |
|
Монады
|
|||
---|---|---|---|
#18+
FatherSqlskyANAпропущено... Нет, это просто extension method. свой чтолиДа. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 15:19 |
|
Монады
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныРазумеется. Пока еще для Roslyn допилят свой null propagating , и когда еще это доберется до наших реалий. Для меня лично предпочтительнее написать: Код: c# 1. 2. 3. 4.
чем писать лесенку вида Код: c# 1. 2. 3.
учитывая, что в реальности эти лесенки бывают намного длинее и нетривиальнее. Хотя, конечно, обещаемое в Roslyn смотрится изящнее: Код: c# 1.
Я так делаю Код: c# 1. 2. 3. 4.
И короче, и не менее понятно. И вообще, когда много параметров у метода или условий проверки во всяких ифах - в столбик пишу. А монады - это же каждый раз метод вызывать. Напрасная растрата ресурсов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 17:50 |
|
Монады
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныАлексей КПофиг. Решается форматированием. Нет, не пофиг. Выше приведен был самый простейший случай, и только одна монада - в реальности их может быть намного больше. Некогда на GotDotNet в блогах была статья про монадический синтатксис. сейчас из-за реорганизации это всё дело куда-то подевалось - там рассматривался такой пример: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
и вариант решения с монадами: Код: c# 1. 2. 3. 4. 5. 6.
- и это опять же достаточно искусственный пример, в реальности бывает всё намного хуже. Я считаю, что это прекрасная замена бесконечным стопками if'ов (тот самый вышеупомянутый граф объектов), от которых начинает в глязах рябить. Что-то у вас ветвлений мало. А как монады работают с кучей ветвлений? Или даже такая ситуация. Мне сейчас надо сделать большооооой метод расчёта, который будет вызываться итерационно много раз. И в зависимости от условий на каждой итерации (условия тоже рассчитываются-изменяются на каждой итерации) должна выполняться та или другая ветка кода. Я пока сделал кучей if-else. Думаю, на свичи переделать - т. к. может потребоваться дать каждой ветке расчёта осмысленное имя, а я дла этого думаю использовать enum, и в свичи эти enum применять. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 17:57 |
|
Монады
|
|||
---|---|---|---|
#18+
НемоКэп42Что-то у вас ветвлений мало. В смысле, что дерево какое-то "коридорное" - мало развилок. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 17:59 |
|
Монады
|
|||
---|---|---|---|
#18+
НемоКэп42Или даже такая ситуация. Мне сейчас надо сделать большооооой метод расчёта, который будет вызываться итерационно много раз. И в зависимости от условий на каждой итерации (условия тоже рассчитываются-изменяются на каждой итерации) должна выполняться та или другая ветка кода. Я пока сделал кучей if-else. Думаю, на свичи переделать - т. к. может потребоваться дать каждой ветке расчёта осмысленное имя, а я дла этого думаю использовать enum, и в свичи эти enum применять. Врагу не пожелаешь потом такой код сопровождать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 18:09 |
|
Монады
|
|||
---|---|---|---|
#18+
ЕвгенийВНемоКэп42Или даже такая ситуация. Мне сейчас надо сделать большооооой метод расчёта, который будет вызываться итерационно много раз. И в зависимости от условий на каждой итерации (условия тоже рассчитываются-изменяются на каждой итерации) должна выполняться та или другая ветка кода. Я пока сделал кучей if-else. Думаю, на свичи переделать - т. к. может потребоваться дать каждой ветке расчёта осмысленное имя, а я дла этого думаю использовать enum, и в свичи эти enum применять. Врагу не пожелаешь потом такой код сопровождать. А как лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 19:07 |
|
Монады
|
|||
---|---|---|---|
#18+
НемоКэп42ЕвгенийВпропущено... Врагу не пожелаешь потом такой код сопровождать. А как лучше?Шаблон Strategy (позволяет отказаться от использования переключателей и/или условных операторов). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 19:30 |
|
Монады
|
|||
---|---|---|---|
#18+
ЕвгенийВПонижается абстракция и количество повторно используемого кода. Пусть больше пашет компилятор и не аммортизируется клава! зато повышается читабельность кода ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2014, 12:40 |
|
Монады
|
|||
---|---|---|---|
#18+
Такие монады нафиг не нужны в общем случае. И это легко показать: Д-тим, у нас есть код вида: Код: c# 1. 2. 3. 4. 5.
Мы его можем свернуть в более читаемый/менее ошибкоподверженный: Код: c# 1. 2. 3. 4.
Да, код стал (относительно)лучше первоначального. Вопрос: Почему мы просто не написали и let it crash? Код: c# 1.
Резюме: В общем случае такие монады не нужны и let it crash. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 08:06 |
|
Монады
|
|||
---|---|---|---|
#18+
enigmaticТакие монады нафиг не нужны в общем случае. И это легко показать: Д-тим, у нас есть код вида: Код: c# 1. 2. 3. 4. 5.
Мы его можем свернуть в более читаемый/менее ошибкоподверженный: Код: c# 1. 2. 3. 4.
Да, код стал (относительно)лучше первоначального. Вопрос: Почему мы просто не написали и let it crash?Глупый вопрос. Всё зависит от того считается ли отсутствие объекта нормальной или исключительной ситуацией. И в любом случае "let it crash" - это плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 08:21 |
|
Монады
|
|||
---|---|---|---|
#18+
skyANA, > И в любом случае "let it crash" - это плохо. Почему? Этот код под try/catch, очевидно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 08:25 |
|
Монады
|
|||
---|---|---|---|
#18+
enigmaticТакие монады нафиг не нужны в общем случае. В общем случае весь дотнет нафиг не нужен. Вместе с компьютерами. Нюансы заключаются в частностях. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 08:42 |
|
Монады
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Как умно, давай тебе поапплодируем. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 08:46 |
|
Монады
|
|||
---|---|---|---|
#18+
enigmaticКак умно, давай тебе поапплодируем. Не стоит. Это не более умно, чем распространять использование частного инструмента на общую практику. И уж подавно не более умно предложения let it crash: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
теперь берем ситуацию, когда ExtraRef - свойство с нетривиальной логикой в аксессоре. И эта логика тоже может выбросить NPE. И в случае с монадами, и в случае с if'ами этот возникший NPE будет проброшен вверх по стеку вызова, а в случае с let it crash NPE будет благополучно съеден, и как будто всё в порядке. Тот, кто будет отлаживать такой код, придет, и оборвет автору руки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 09:17 |
|
Монады
|
|||
---|---|---|---|
#18+
enigmaticskyANA, > И в любом случае "let it crash" - это плохо. Почему?Очень плохо для кармы. enigmaticЭтот код под try/catch, очевидно.С этого момента по подробнее: что конкретно Вы завернули в try/catch и почему думаете, что это является неким очевидным решением? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2014, 09:42 |
|
|
start [/forum/topic.php?fid=20&msg=38719772&tid=1402538]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 174ms |
0 / 0 |