|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttЧем читабельнее код (не только для себя, но и для остальных) -- тем лучше. Читаемость кода - штука субъективная, и зависящая, например, от привычки к тому или иному виду синтаксиса. Как вы могли убедиться по постингам выше, флюент-синтаксис более удобочитаемым считаю не один я. Что же до особо сложных и мозголомных конструкций внутри linq - я вообще против них, безотносительно синтаксиса, поскольку они идудт вразрез с принципом intention revealing. Только вынесение таких кусков в отдельные методы, и использование в простых linq-запросах. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:17 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
А часто пользуюсь длинными и вложенными запросами. Только при определённой длине ставлю скобки на разных строках подобно операторным скобкам, чтоб были понятны границы вложенных запросов/конструкций. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:20 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Только Fluent. По работе приходится писать не только на C#. Лямбды - они и в Индонезии лямбды :) А разбираться в сахаре, прибитом гвоздями к конкретному языку - расточительство )) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:22 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныhVosttЧем читабельнее код (не только для себя, но и для остальных) -- тем лучше. Читаемость кода - штука субъективная, и зависящая, например, от привычки к тому или иному виду синтаксиса. Как вы могли убедиться по постингам выше, флюент-синтаксис более удобочитаемым считаю не один я. Что же до особо сложных и мозголомных конструкций внутри linq - я вообще против них, безотносительно синтаксиса, поскольку они идудт вразрез с принципом intention revealing. Только вынесение таких кусков в отдельные методы, и использование в простых linq-запросах. Не вижу причин не пользоваться нативными средствами самого языка, если в отдельных случаях это может улучшить вид и читаемость кода. Принципы «а я вот так вот привык» и «а мне вот так вот больше нравится» — они конечно в определённой степени уместны (для личных разработок), но в целом — не серьёзные, детские и губительные. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:31 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
ViPRosда пофиг что там на заборе ViPRosты можешь это обернуть в метод и вызвать (применить метод такой то) от этого твой код не станет декларативным декларация - желание, а не путьто есть ты отрицаешь общепринятое классификацию продуктов и толкование терминов, и напитываешь их соками мозга с претензией на сакральный смысл? гениально, чо. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:32 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Сон Веры Павловны, Вот, кстати, интересное наблюдение. Чаще всего я использую флюент, так как чаще всего выражения короткие и связаны всего с одной коллекцией. Но иногда я использую сахар, при чём это уже выработано на интуитивном уровне, я не сижу и не размышляю, что же выбрать и не переписываю флюент в сахар или наоборот. Когда представляешь себя запрос и его сложность становится понятно, какой способ выбрать и никаких проблем в связи с этим не испытываю, поэтому у меня нет длиннющих флюент-цепочек, и я вообще никогда не применяю флюентный Join, так как назвать это иначе, чем «убожество» просто нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:40 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Не вижу ничего такого в Join через лямбды, сам часто его пишу. Если есть корпоративные стандарты и по этому вопросу тоже, конечно, другое дело, но если их по этому вопросу нет, то это кому как. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:49 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
AntonariyViPRosда пофиг что там на заборе ViPRosты можешь это обернуть в метод и вызвать (применить метод такой то) от этого твой код не станет декларативным декларация - желание, а не путьто есть ты отрицаешь общепринятое классификацию продуктов и толкование терминов, и напитываешь их соками мозга с претензией на сакральный смысл? гениально, чо. не знаю кем это общепринятые в пролгое я просто справшиваю и получаю ответ а в скл я спрашиваю и указываю путь вплоть до On a=b и т.д. вплоть до алгоритма соспоставления массивов если кто то считает это декларативностью то тот кретин ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 13:56 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Ilya81Не вижу ничего такого в Join через лямбды, сам часто его пишу. Если есть корпоративные стандарты и по этому вопросу тоже, конечно, другое дело, но если их по этому вопросу нет, то это кому как. Затрудняет чтение. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Ещё вроде ничё так, да? А теперь изобрази вот это во флюенте, потом дай кому-нибудь прочесть: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:00 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttНе вижу причин не пользоваться нативными средствами самого языка Ээ.. Т.е. по-вашему, флюент - это не нативный синтаксис? А чей тогда? Откуда он взялся? И почему и запросный, и флюентный синтаксис транслируются в IL во всё те же анонимные делегаты, классы, и коллекции, при прочих равных выдавая почти идентичный IL-код? Код: c# 1. 2. 3. 4. 5.
IL Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90.
hVosttПринципы «а я вот так вот привык» и «а мне вот так вот больше нравится» — они конечно в определённой степени уместны (для личных разработок), но в целом — не серьёзные, детские и губительные. Я что-то писал про корреляцию моих личных предпочтений с принятыми на моем месте работы стандартами кодирования? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:01 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныЭэ.. Т.е. по-вашему, флюент - это не нативный синтаксис? А чей тогда? Откуда он взялся? И почему и запросный, и флюентный синтаксис транслируются в IL во всё те же анонимные делегаты, классы, и коллекции, при прочих равных выдавая почти идентичный IL-код? Всё правильно, а я что сказал? Я сказал только про синтаксис, а не во что он траслируется. И, как обычно, сравнивать что же таки лучше (флюент или сахар) без конкретных примеров — занятие бесперспективное. Покажи мне запрос, и я точно скажу что в данном случае будет лучше — об этом я говорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:08 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
извращенцы ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:10 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttIlya81Не вижу ничего такого в Join через лямбды, сам часто его пишу. Если есть корпоративные стандарты и по этому вопросу тоже, конечно, другое дело, но если их по этому вопросу нет, то это кому как. Затрудняет чтение. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Ещё вроде ничё так, да? А теперь изобрази вот это во флюенте, потом дай кому-нибудь прочесть: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Вообще-то да, видать, мне чаще больше одного join (как в верхнем примере) редко случается использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:14 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttIlya81Не вижу ничего такого в Join через лямбды, сам часто его пишу. Если есть корпоративные стандарты и по этому вопросу тоже, конечно, другое дело, но если их по этому вопросу нет, то это кому как. Затрудняет чтение. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Ещё вроде ничё так, да? А теперь изобрази вот это во флюенте, потом дай кому-нибудь прочесть: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
Мне вот не понятно зачем это писать, если это должно быть автоматом в самом джойне: Код: c# 1. 2. 3. 4.
В джойне ведь уже должна быть автомат. фильтрация т.к. ты джойниш по этим полям. Код: c# 1. 2. 3. 4. 5.
Это кривой запрос или так надо писать по техническим причинам? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:24 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
LameUserЭто кривой запрос или так надо писать по техническим причинам? это он для верности :) (первый раз джойнил) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 14:48 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttАлексей КПокажи для left join ? зы: join стараемся не использовать, стараемся пользоваться ассоциациями. В последнем проекте вот что использую: https://github.com/thomaslevesque/Linq.Extras Это круть. А могли бы предусмотреть сразу и не пришлось бы так корячиться.Ок, посмотрю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 15:11 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
hVosttСон Веры Павловны, Вот, кстати, интересное наблюдение. Чаще всего я использую флюент, так как чаще всего выражения короткие и связаны всего с одной коллекцией. Но иногда я использую сахар, при чём это уже выработано на интуитивном уровне, я не сижу и не размышляю, что же выбрать и не переписываю флюент в сахар или наоборот. Когда представляешь себя запрос и его сложность становится понятно, какой способ выбрать и никаких проблем в связи с этим не испытываю, поэтому у меня нет длиннющих флюент-цепочек, и я вообще никогда не применяю флюентный Join, так как назвать это иначе, чем «убожество» просто нельзя.++ Тут вполне жизненный пример. В нём комбинируются оба способа написания, в зависимости от ситуации. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 15:16 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Ilya81, Брюки Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
плавно превращаются в шорты Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 15:24 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Уж лучше where убрать, а второй вариант - надеяться только на оптимизатор, что он не станет генерировать полное декартово произведение. join всё ж явно подразумевает, что полное декартово произведение не понадобится. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 15:28 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Ilya81Уж лучше where убрать, а второй вариант - надеяться только на оптимизатор, что он не станет генерировать полное декартово произведение. join всё ж явно подразумевает, что полное декартово произведение не понадобится. Тут использование where много гибче. Например можно использовать не строгое равенство, а например >. Да и комбинации полей. Что касается SqlServer и Oracle, они тут не оплошают. За остальных не скажу. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 15:37 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
ЕвгенийВЧто касается SqlServer и Oracle, они тут не оплошают. За остальных не скажу. Речь об IQueryable или IEnumerable? Я LINQ часто применяю и при запросе коллекций логического слоя, там вообще БД может не быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 15:46 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Ilya81 Я LINQ часто применяю и при запросе коллекций логического слоя, там вообще БД может не быть. Тогда о каком оптимизаторе речь? Там вся надежда на прямоту рук и ParallelEnumerable. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 16:05 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
ЕвгенийВIlya81 Я LINQ часто применяю и при запросе коллекций логического слоя, там вообще БД может не быть. Тогда о каком оптимизаторе речь? Там вся надежда на прямоту рук и ParallelEnumerable. О .Net'овском, который по идее должен обрабатывать в т. ч. механизм отложенных запросов, в т. ч. для классов Enumerable и ParallelEnumerable. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 16:41 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Ilya81О .Net'овском, который по идее должен обрабатывать в т. ч. механизм отложенных запросов, в т. ч. для классов Enumerable и ParallelEnumerable. Такого пока не придумали :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 17:00 |
|
LINQ: кто какой синтаксис использует?
|
|||
---|---|---|---|
#18+
Алексей К Тут вполне жизненный пример. В нём комбинируются оба способа написания, в зависимости от ситуации. Вот-вот, об этом я и говорил, в сахаре такие запросы легко читаются, прям как в SQL, а в цепочке они были бы перегружены оверхедом с лямбдами, точками, скобками (все смешалось в кучу: люди, кони...)) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2015, 17:01 |
|
|
start [/forum/topic.php?fid=20&msg=38871516&tid=1401906]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 156ms |
0 / 0 |