Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
Лучше так (более современно): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. или так (код проще): Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 11:11 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
Если для инициализации переменной, то проще сразу вызвать лямбду: [quot AlekseySQL] Код: plaintext 1. 2. 3. 4. 5. 6. 7. Для маленьких задачек сгодятся лямбды, для больших лучше в отдельные функции выносить, чтобы не было как в JS'е callback hell'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 11:24 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
NekZ, спасибо, за подсказку! Но хочется понять: применение лямбда- выражений для маленьких подзадач это новый стиль, и те кто его не используют- (само)отверженные или же на таких товарищей смотрят как на любителей секса, стоя в гамаке на лыжах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 11:33 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
NekZ Код: plaintext 1. 2. 3. 4. 5. Скопировал твой код и даже не посмотрел, что его можно сократить. AlekseySQLНо хочется понять: применение лямбда- выражений для маленьких подзадач это новый стиль, и те кто его не используют- (само)отверженные или же на таких товарищей смотрят как на любителей секса, стоя в гамаке на лыжах? Лямбды -- не панацея. Просто тебе дали средство избавиться от ненужного бойлерплейта, особенно, при работе с STL. Как его использовать -- решай сам. У тебя теперь есть выбор. И принимай решения на основе своего опыта, здравого смысла и удобочитаемости/сопровождаемости кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 11:58 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, не путайте "меньше" и "проще", сложность у него та же ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.06.2018, 20:20 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
NekZ....И принимай решения на основе своего опыта, здравого смысла и удобочитаемости/сопровождаемости кода.тонко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2018, 23:07 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
А как переместить переменную лямбда - функции? Код: plaintext 1. 2. 3. 4. Пишет ошибку, а если не оборачивать вызов MyFunc(std::move(Separator)) лямбда- выражением, то ошибки нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 11:46 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
Короче, какой код вам кажется приятнее? Такой (лямбда- выражения разбивают функцию на подзадачи): Код: plaintext 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. Или такой (дополнительного разбиения нет, все идет "сплошником"): Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 12:29 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLЛучше так (более современно): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. или так (код проще): Код: plaintext 1. 2. 3. 4. 5. 6. Вот ничего тебе не скажу про лямбды, но когда я вижу такой код, как выше, рука тянется к пистолету... Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 12:41 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
MasterZiv, скажите, пожалуйста, вам какой код приятнее читать? (для меня это в разы важнее, чем замена if на определение булевой переменной). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 12:50 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, ты ведь лямбды для лучшей читаемости использовать пытаешься, так ведь? И тут вдруг такой лютый быдлокод: Код: plaintext 1. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 13:31 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLMasterZiv, скажите, пожалуйста, вам какой код приятнее читать? (для меня это в разы важнее, чем замена if на определение булевой переменной). Вот мой кусок кода гораздо легче читать, чем твой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 14:10 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQL, Ты лучше расскажи зачем создаёшь лямбду и тут же её вызываешь (там где fill array), при этом ничего не возвращая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 14:41 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
NekZAlekseySQL, Ты лучше расскажи зачем создаёшь лямбду и тут же её вызываешь (там где fill array), при этом ничего не возвращая? Вот! Наконец- то кто- то по теме пишет! Я это делаю для разбиения на подзадачи. Ведь по логике каждая функция должна выполнять только одну смысловую задачу и при отсутствии лямбда- выражений придется создать зоопарк маленьких функций или отступиться от правила единичности смысловой нагрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 15:09 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
MasterZivВот мой кусок кода гораздо легче читать, чем твой. Меня наверно всем форумом решили потроллить этим if-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 15:10 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLNekZAlekseySQL, Ты лучше расскажи зачем создаёшь лямбду и тут же её вызываешь (там где fill array), при этом ничего не возвращая? Вот! Наконец- то кто- то по теме пишет! Я это делаю для разбиения на подзадачи. Ведь по логике каждая функция должна выполнять только одну смысловую задачу и при отсутствии лямбда- выражений придется создать зоопарк маленьких функций или отступиться от правила единичности смысловой нагрузки. Ну ты комментарий воткни, вот и "подзадача", и "отдельная смысловая единица": Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 15:14 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
У меня после последнего лямбда- выражения не хватает круглых скобок :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2018, 15:16 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
AlekseySQLNekZAlekseySQL, Ты лучше расскажи зачем создаёшь лямбду и тут же её вызываешь (там где fill array), при этом ничего не возвращая? Вот! Наконец- то кто- то по теме пишет! Я это делаю для разбиения на подзадачи. Ведь по логике каждая функция должна выполнять только одну смысловую задачу и при отсутствии лямбда- выражений придется создать зоопарк маленьких функций или отступиться от правила единичности смысловой нагрузки.это делается не так. есть такой метод (фаулер) рефакторинга - выделение метода. берешь какое-то выражение, например то, что стоит в if и выносишь в приватную фукнцию. такая процедура - кирпичик рефакторинга. потом выделяешь класс и т.д. с лямбдами не получится потом рефакторить. (тут важно то, что сделав это, ты увидишь дальнейшие возможности рефакторинга, сократишь другие функции и т.д. а нагородив лямбд ты увидишь винегет, также лямбды не сможешь использоавть из других функций.) блоки можно выделить просто фигурными скобками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 00:26 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
КотовасияНу ты комментарий воткни, вот и "подзадача", и "отдельная смысловая единица": Код: plaintext 1. 2. 3. попахивает.. надо это вынести в функцию и назвать ее так, чтобы коментарий был не нужен. когда ты пишешь код, и у тебя возникает желаение написать комантарий, значит код не понятен. нужно изменить названия переменных, вынести какие-то части кода в фукнции и т.д. чтобы код сам себя описал лучше чем человеческий язык. (напимер выражение a+b описывает себя лучше чем к а прибавляем бэ .) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 00:30 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
alexy_black...надо это вынести в функцию и... Ну и смысл, если код используется однократно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2018, 00:50 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
Котовасияalexy_black...надо это вынести в функцию и... Ну и смысл, если код используется однократно?фаулер об этом хорошо пишет. есть несколько профитов. 1. возможно и не однакратно. то есть ты можешь потом внезапно обнаружить что код дублировался. 2. где-то может быть похожий код. тогда чуть чуть модифицируешь функцию, чтобы она была более общей, и реюзаешь. 3. в будущем может быть зареюзано. 4. выделяется в логический блок, у которого есть навзание. смотря на заголовок класса, ты видишь сколько и какие у него логические блоки. 5. верхнеуровневые функции состоят из логических блоков с интуинтивными названиями. этого не так в случаи лямбд потому что эти блоки определяются прямо в функции. также потому что есть соблазн засунуть все в замыкание. 6. легче сосредоточится на отдельным куске с названием. ты просто видишь что нужно сделать в названии и видишь что это можно достичь более опитмальным способом или видишь что при некоторых условиях не достигается результат. 7. потом рефакторинг продолжается. например ты понимаешь что нужно класс разделить на два. тогда это просто выполняется переносом метода. этих целей не достичь лямбдами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2018, 16:03 |
|
||
|
Нужно ли маленькие подзадачки оформлять в качестве лямбд?
|
|||
|---|---|---|---|
|
#18+
alexy_black, спасибо! Прочитал Роберта Мартина "Чистый код" и пришел к выводу, что лямбды в этом случае- зло. Как я понял из его книги действительно надо разбивать код на мелкие подзадачи, но оформлять их в виде отдельных функций, чтобы упростить чтение кода (не читать "кишки"). А лямбда- выражения как раз эти "кишки" вываливают наружу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2018, 09:19 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=18&tid=2017817]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
86ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
91ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 236ms |

| 0 / 0 |
