Re[4]: жизнь не перестает удивлять
От: Нomunculus Россия  
Дата: 07.10.23 08:04
Оценка:
Здравствуйте, baxton_ulf, Вы писали:

_>да конечно, можно не знать. не пройдёшь интервью да и только


И слава Богу. Не хотел бы работать в конторе, где занимаются такой херней.
Re[5]: жизнь не перестает удивлять
От: Артём Австралия жж
Дата: 07.10.23 08:56
Оценка: :))) :)
Здравствуйте, Codealot, Вы писали:

C>Это точно не базовые конструкции языка, так что не надо мутить воду.


3*"hello" => "hellohellohello". Насчёт опциональности оператора — нужно проверять
Re[5]: жизнь не перестает удивлять
От: Stanislav V. Zudin Россия  
Дата: 07.10.23 15:38
Оценка:
Здравствуйте, night beast, Вы писали:

NB>вот конкретно этот где может пригодиться?

NB>лично мне нужен был пару раз когда по быстрому на коленке делалось что-то вроде atoi или валидации

Такой трюк, только с 16-ричными числами, мне пришлось делать в 97 году на ассемблере. Из-за того, что сишный рантайм занимал целых 10кб. Всю программу на асме удалось уложить в 700байт. Была жесткая нехватка памяти и усилия того стоили.

NB>я к тому что есть более нужные вещи, и не стоит по знанию/незнанию делать какие-то выводы


Этот приём, по сути, просто получение элемента в таблице по смещению.
В книгах он хорошо разжеван. Его незнание, ессно, не проблема, но говорит много о человеке (изучает ли что-то сверх школьной программы).

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

NB>тот же прием Pzz с выбором функции на мой взгляд более полезен


Да, приём неплохой.
_____________________
С уважением,
Stanislav V. Zudin
Re[2]: жизнь не перестает удивлять
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 07.10.23 16:13
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Ну при всем при том, методология разработки по имени "структурное программирование" считает, что выход из середины цикла не нужен.

Почему?
Sic luceat lux!
Re[3]: жизнь не перестает удивлять
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.10.23 20:07
Оценка: +3 :)
Здравствуйте, Kernan, Вы писали:

Pzz>>Ну при всем при том, методология разработки по имени "структурное программирование" считает, что выход из середины цикла не нужен.

K>Почему?

Потому, что суть структурного программирования заключается в том, что у программы есть структура, состоящая из стандартных "строительных" блоков: операторов if-then-else и операторов циклов. И заметим, у каждого такого блока есть ровно одна входная и ровно одна выходная точка.

Такую программу гораздо проще анализировать, и мозгами и автоматическим способом.
Re[6]: жизнь не перестает удивлять
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.10.23 20:08
Оценка:
Здравствуйте, Артём, Вы писали:

Аё>3*"hello" => "hellohellohello". Насчёт опциональности оператора — нужно проверять


А что с делением?
Re[4]: жизнь не перестает удивлять
От: Codealot Земля  
Дата: 07.10.23 20:08
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>goto, return, исключение...


goto здесь не нужен, а остальные два варианта не особо отличаются.
Ад пуст, все бесы здесь.
Re[5]: жизнь не перестает удивлять
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.10.23 20:10
Оценка:
Здравствуйте, night beast, Вы писали:

NB>тот же прием Pzz с выбором функции на мой взгляд более полезен


В молодости я так сделал пару раз. Сейчас бы не стал. Просто написал в качестве курьёза.
Re[6]: жизнь не перестает удивлять
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.10.23 20:11
Оценка: :)
Здравствуйте, Stanislav V. Zudin, Вы писали:

NB>>тот же прием Pzz с выбором функции на мой взгляд более полезен


SVZ>Да, приём неплохой.


Эта. Я не хотел подать пример. Скорее, наоборот.
Re[6]: жизнь не перестает удивлять
От: night beast СССР  
Дата: 07.10.23 20:13
Оценка:
Здравствуйте, Pzz, Вы писали:

NB>>тот же прием Pzz с выбором функции на мой взгляд более полезен

Pzz>В молодости я так сделал пару раз. Сейчас бы не стал. Просто написал в качестве курьёза.

делал бы через указатель на функцию + иф или писал бы доп. функцию?
Re[7]: жизнь не перестает удивлять
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.10.23 20:17
Оценка:
Здравствуйте, night beast, Вы писали:

Pzz>>В молодости я так сделал пару раз. Сейчас бы не стал. Просто написал в качестве курьёза.


NB>делал бы через указатель на функцию + иф или писал бы доп. функцию?


Просто if. Да, 4 строки вместо одной.
Re: жизнь не перестает удивлять
От: bnk СССР http://unmanagedvisio.com/
Дата: 07.10.23 20:21
Оценка: +2 -4 :))
Здравствуйте, Codealot, Вы писали:

C>Общался тут с одним чуваком по поводу ревью кода, и он не понимает, что такое цикл с выходом из середины. Вообще не знает, что это такое и зачем может быть нужно.

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

А это не нужно. IMHO выход из середины цикла (break) хреновая конструкция, запутывающая код, может это даже хорошо что он ее не знает.
Выходить надо или сразу, или разбивать код внутри на две функции. Выходить из середины — это goto по сути, в худшем его проявлении
Отредактировано 07.10.2023 20:21 bnk . Предыдущая версия .
Re[8]: жизнь не перестает удивлять
От: night beast СССР  
Дата: 07.10.23 20:22
Оценка:
Здравствуйте, Pzz, Вы писали:

NB>>делал бы через указатель на функцию + иф или писал бы доп. функцию?

Pzz>Просто if. Да, 4 строки вместо одной.

копипаста -- зло.
а если это параметр, идущий аргументом, тоже через иф?
Re[4]: жизнь не перестает удивлять
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 07.10.23 20:24
Оценка:
Здравствуйте, Vzhyk2, Вы писали:

V>Здравствуйте, Codealot, Вы писали:


Н>>>Break что ли?

C>>Естественно. А чем еще это может быть?
V>goto, return, исключение...
Еще есть exit.
"Can You Remember, Remember My Name." (c) DP
Re[2]: жизнь не перестает удивлять
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 07.10.23 20:31
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Codealot, Вы писали:


C>>Общался тут с одним чуваком по поводу ревью кода, и он не понимает, что такое цикл с выходом из середины. Вообще не знает, что это такое и зачем может быть нужно.


Pzz>Ну при всем при том, методология разработки по имени "структурное программирование" считает, что выход из середины цикла не нужен.

Т.е., имеем цикл на 100500 итераций. На третьей получаем нужный нам результат, но все равно будем продолжать 100497 раз?
"Can You Remember, Remember My Name." (c) DP
Re[3]: жизнь не перестает удивлять
От: Pzz Россия https://github.com/alexpevzner
Дата: 07.10.23 20:32
Оценка:
Здравствуйте, Slawa Ms, Вы писали:

Pzz>>Ну при всем при том, методология разработки по имени "структурное программирование" считает, что выход из середины цикла не нужен.

SM>Т.е., имеем цикл на 100500 итераций. На третьей получаем нужный нам результат, но все равно будем продолжать 100497 раз?

Почему? Можно ж выйти по условию. Не обязательно делать goto из середины.
Re[4]: жизнь не перестает удивлять
От: Slawa Ms Россия http://www.SlawaMs.com
Дата: 07.10.23 21:43
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Здравствуйте, Slawa Ms, Вы писали:


Pzz>>>Ну при всем при том, методология разработки по имени "структурное программирование" считает, что выход из середины цикла не нужен.

SM>>Т.е., имеем цикл на 100500 итераций. На третьей получаем нужный нам результат, но все равно будем продолжать 100497 раз?

Pzz>Почему? Можно ж выйти по условию. Не обязательно делать goto из середины.

У ТС речь шла про break, по нему и выходим по условию из середины цикла. Повторяю, ситуации, когда нужно выйти из середины цикла, встречаются часто. Зачем тратить время на полный перебор? Для этого используются break и exit. Про goto речь не идет. Даже не знаю, есть он в Delphi или нет.
"Can You Remember, Remember My Name." (c) DP
Re[5]: жизнь не перестает удивлять
От: baxton_ulf США  
Дата: 07.10.23 21:46
Оценка: +3
Здравствуйте, Codealot, Вы писали:

C>Здравствуйте, baxton_ulf, Вы писали:


_>>да конечно, можно не знать. не пройдёшь интервью да и только


C>Лишнее напоминание, насколько вопросы на собеседованиях высосаны из пальца.


это не просто знание как имплементирована atoi или parseInt — это паттерн, который может сделать твою программу быстрее и занимать меньше памяти.

мне приходилось в реальной работе применять навыки выработанные при решении задач для интервью. даже так — постоянно приходится применять. а разве тебе не помогает знание, например того, что с отсортированными коллекциями работать быстрее во многих задачах. или знание, например merging-sort — это ведь тоже паттерн, который во многих задачах применим. не только для сортировки больших коллекций.
пример из практики: лет, наверное 20 назад я видел программу намертво висящую потому, что обрабатывала коллекцию из 50К записей со сложностью O(N^2) если бы те программисты практиковали решение задач, которые "высосаны из пальца", то их алгоритм просто бы летал, а не висел по пол дня.
как то так. а ты все "из пальца" да "из пальца"
Re[7]: жизнь не перестает удивлять
От: Артём Австралия жж
Дата: 08.10.23 00:49
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>А что с делением?


Мне про такое неизвестно. Умножение строки/массива на число повторов- это стандартный и широкораспространённый приём в питоне.
Re[5]: жизнь не перестает удивлять
От: nikkit  
Дата: 08.10.23 01:23
Оценка:
SM>Еще есть exit.

Application.Exit в винформс? или ты про паскаль?
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.