Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропуститьM. Ridcully wrote: ↑10 Oct 2018 18:05 А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
55+ в ИТ
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: 55+ в ИТ
А кто говорил про "пропустить элемент"? Return false сразу и всё.АццкоМото wrote: ↑10 Oct 2018 18:49Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропуститьM. Ridcully wrote: ↑10 Oct 2018 18:05 А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кумар не лыком шит, пускай результат зависит от порядка элементов в getItems()!
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: 55+ в ИТ
по уму так надо проверять, не подсунул ли Кумар нулевой карт.M. Ridcully wrote: ↑10 Oct 2018 21:24А кто говорил про "пропустить элемент"? Return false сразу и всё.АццкоМото wrote: ↑10 Oct 2018 18:49Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропуститьM. Ridcully wrote: ↑10 Oct 2018 18:05 А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кумар не лыком шит, пускай результат зависит от порядка элементов в getItems()!
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
А, ну так-то да. попадаются очень талантливые люди (ц)M. Ridcully wrote: ↑10 Oct 2018 21:24А кто говорил про "пропустить элемент"? Return false сразу и всё.АццкоМото wrote: ↑10 Oct 2018 18:49Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропуститьM. Ridcully wrote: ↑10 Oct 2018 18:05 А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кумар не лыком шит, пускай результат зависит от порядка элементов в getItems()!
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
-
- Уже с Приветом
- Posts: 2272
- Joined: 29 Jul 2005 17:39
- Location: Калифорнийский Мухосранск
Re: 55+ в ИТ
У нас как-то одному перцу вообше было запрешено что-либо коммитить в обший репозиторий. Только после code review его начальник выборочно сам коммитил шедевры эпистолярного жанра.
-
- Уже с Приветом
- Posts: 3209
- Joined: 25 Jul 2000 09:01
Re: 55+ в ИТ
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
-
- Уже с Приветом
- Posts: 1039
- Joined: 27 Apr 2014 17:13
- Location: USA
Re: 55+ в ИТ
выгнать? тут только если бюджет заканчивается увольняют, либо что-то типа "мне не нравится diversity" или харазмент какой. за то что ты не работаешь - здесь не выгоняют.
-
- Уже с Приветом
- Posts: 3209
- Joined: 25 Jul 2000 09:01
Re: 55+ в ИТ
-
- Уже с Приветом
- Posts: 12303
- Joined: 23 Mar 2004 21:10
Re: 55+ в ИТ
Муж искал работу 2 года назад, 60 ровно было. Нашел через знакомых, но и другие варианты были. Этот - лучший по сумме плюшек.
До этого сидел дома 2 года по нашему совместному решению: надо было с ребенком на дом обучении посидеть, он и до того сидел, но он работал из дому до сокращения. Контора его переводила, но мы не захотели в очередной раз, и на этот раз лавочка закрылась.
Контракторствует. Он cissp, не кодировщик, но кодирует понемножку , если ему удобнее кодировать.
Ребенку еще 3 года в школе, так что мы сидим на попе ровно.
Я сейчас практически живу Комми дрим: работаю, ковыряясь потихоньку, данные там данные сям, короче дейта говернанс в госконторе. Люди в целом от терпимых до очень хороших, особых революций нет вроде, тихо по сравнению с индустрией.
В будущем морковка пенсия.
Можно бросить и жить на ренту, но ребенок все равно привязан к школе , и пенсии жалко. Муж по моей просьбе тоже получил тайтл на работу в госслужбе, периодически его зовут на интервью, но он не обязан принимать их оферы, ему пока, тьфу-тьфу-тьфу, на его месте неплохо. Кроме денег плюс - гибкий график, чего у меня,увы, нет.
Это больно, когда хочется лето на лаче проводить. Когда контракторствовала, жто луше удавалось.
Муж пока сам бросать работу не планирует.
Есть еще проекты в планах.
До этого сидел дома 2 года по нашему совместному решению: надо было с ребенком на дом обучении посидеть, он и до того сидел, но он работал из дому до сокращения. Контора его переводила, но мы не захотели в очередной раз, и на этот раз лавочка закрылась.
Контракторствует. Он cissp, не кодировщик, но кодирует понемножку , если ему удобнее кодировать.
Ребенку еще 3 года в школе, так что мы сидим на попе ровно.
Я сейчас практически живу Комми дрим: работаю, ковыряясь потихоньку, данные там данные сям, короче дейта говернанс в госконторе. Люди в целом от терпимых до очень хороших, особых революций нет вроде, тихо по сравнению с индустрией.
В будущем морковка пенсия.
Можно бросить и жить на ренту, но ребенок все равно привязан к школе , и пенсии жалко. Муж по моей просьбе тоже получил тайтл на работу в госслужбе, периодически его зовут на интервью, но он не обязан принимать их оферы, ему пока, тьфу-тьфу-тьфу, на его месте неплохо. Кроме денег плюс - гибкий график, чего у меня,увы, нет.
Это больно, когда хочется лето на лаче проводить. Когда контракторствовала, жто луше удавалось.
Муж пока сам бросать работу не планирует.
Есть еще проекты в планах.
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: 55+ в ИТ
Ничего, мать, держись. Выйдем оба на пенсию, будем лето у тебя на даче на Кейпе, а зиму у меня на даче в Сьерре.
А муж... ну, пусть работает и дальше!
-
- Уже с Приветом
- Posts: 1558
- Joined: 13 Dec 2011 11:24
Re: 55+ в ИТ
HashMap для корзины, которой в среднем 2-3, пусть даже 10 предметов? Это будет гораздо медленнее, чем линейный перебор. Не говоря уже о том, что неоправданно сделает код менее ясным.АццкоМото wrote: ↑08 Oct 2018 21:04ну там HashMap например. всякие RxJava делают то же самое куда элегантнее или там java streams. два последних подхода могут быть спорными, но тупой перебор да еще итакой многословный...
-
- Уже с Приветом
- Posts: 1558
- Joined: 13 Dec 2011 11:24
Re: 55+ в ИТ
+ 111111111111adda_ wrote: ↑08 Oct 2018 21:14Извините, но код который вы привели не говорит, что для хранения данных в корзине использовалось что либо наподобии хеш таблиц или любого рода упорядоченные списки. Я лично решил, что это обычный не упорядоченый список в котором лежат объекты. Кстати для хранения небольшого количества данных (несколько десятков) - а в обычной корзине покупателя их обычно бывает всего несколько штук, вряд ли имеет место использовать что либо другое. Так что обычный линейный перебор - оптимальное решение. ИМХО.
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
Суть как раз в том, чтобы сделать код более ясным. Скорость - в данном случае дело десятое. Код ондроедный и будет там потрачено 1 мс или 10 мс - шерифа не колышит, а юзер не заметит. Опять же, если речь пойдет о миллионах элементов, такой человек будет продолжать писать так, как привык.
Иными словами: когда кошка пьет из унитаза, ничего противозаконного не происходит. Но все равно неприятно.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 12303
- Joined: 23 Mar 2004 21:10
Re: 55+ в ИТ
А если серьезно, то иногда напрягает такая скованность со свободным временем.
Едем с мужем в Бруклин, например, после того, как хорошо отдохнули на даче, а меня так и дергает типа повернуть на запад и сразу на месяц- два неспешно через весь континент и обратно.
Теоретически через 3 года, как ребенок выйдет из школьного возраста - запросто.
А практически... 4 недели отпуска, ну, может больше с переработками, пенсия 16% зарплаты после 10 лет, 40 - после 20, наследуемая пожизненно бенефишиари, которым может быть ребенок.
Жалко забить на несколько миллионов.
Подруга зовет в Аспен - ну не на 3 дня же ехать?
Дачу в Пуэрто Рико не купишь - на 7 дней в году и заморачиваться с удаленной сдачей?
С другой стороны - работа то ненапряжная, и врядли попрут по старости. Можно честно рассчитывать до своих 67 досидеть спокойно.
Таким жалко бросаться.
Вот так мысленно и мечусь
Да еще мама, блестящий была врач, забила на работу чуть старше меня сегодняшней, года 54 ей было. Деградация, деменция в 65.
Не хочу. Надеюсь, работа убережет.
А там и таблетку придумают
Так что орбайтен!
-
- Уже с Приветом
- Posts: 10775
- Joined: 22 Jul 2006 20:19
Re: 55+ в ИТ
Честно говоря я не увидел в оригинальном коде с линейным перебором ничего неясного. Кроме логической ошибки, которую вы допустили когда его писали. Наверное потому что мне подобный код постоянно встречается.АццкоМото wrote: ↑12 Oct 2018 16:12Суть как раз в том, чтобы сделать код более ясным. Скорость - в данном случае дело десятое. Код ондроедный и будет там потрачено 1 мс или 10 мс - шерифа не колышит, а юзер не заметит. Опять же, если речь пойдет о миллионах элементов, такой человек будет продолжать писать так, как привык.
Иными словами: когда кошка пьет из унитаза, ничего противозаконного не происходит. Но все равно неприятно.
А насчет того что человек будет там же писать если будут миллионы элементов - не знаю. Я с этим человеком не знаком и не могу делать таких предположений.
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
Я уже пейсал это Комми, продублирую для вас: просто у вас схожий возраст. В 2018 году items.contains(item) куда яснее, чем for(...) { if(..) ..} . Но когда ты 40 лет работал с подобным кодом, он может показаться нормальным. Почему-то идея реализовывать свою сортировку даже 60+ летним очевидно противна, а поиск перебором вручную - нет. Чюдиса.adda_ wrote: ↑12 Oct 2018 18:50Честно говоря я не увидел в оригинальном коде с линейным перебором ничего неясного. Кроме логической ошибки, которую вы допустили когда его писали. Наверное потому что мне подобный код постоянно встречается.АццкоМото wrote: ↑12 Oct 2018 16:12Суть как раз в том, чтобы сделать код более ясным. Скорость - в данном случае дело десятое. Код ондроедный и будет там потрачено 1 мс или 10 мс - шерифа не колышит, а юзер не заметит. Опять же, если речь пойдет о миллионах элементов, такой человек будет продолжать писать так, как привык.
Иными словами: когда кошка пьет из унитаза, ничего противозаконного не происходит. Но все равно неприятно.
А насчет того что человек будет там же писать если будут миллионы элементов - не знаю. Я с этим человеком не знаком и не могу делать таких предположений.
И делать так, как в моем примере, не нужно в том числе из-за той "логической ошибки", которую я допустил. Понимаю, что вы теперь приняли позу орла, типа, ох как я Аццко макнул. Уверяю, такую ошибку может сделать каждый. И не увидеть ее на ревью, когда ревьюят сотни или тысячи строк - тем более. ПОЭТОМУ нам даны нормальные структуры данных со всевозможными "колесами", оттестированными миллиардами человеко-часов, а не потому что мы не можем эти колеса переизобрести
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 8485
- Joined: 02 Aug 2003 01:32
- Location: SPb->SFBA
Re: 55+ в ИТ
Мне пока нет 55, поэтому напишу тест - что быстрее найдет элемент в корзине - for или find
Результат - цикл в 10 раз быстрее
У нас в одном из java проектов итераторы вообще запрещено использовать - там куча памяти отводится фиг знает на что плюс делаются всякие ненужные вызовы.
Code: Select all
var cart = [];
for (var i=0; i< 1000000; i++) {
cart[i] = i;
}
function isItemInCartFor(item) {
for (var i=0; i<cart.length; i++) {
if (cart[i] == item) {
return true;
}
}
return false;
}
function isItemInCartFind(item) {
return cart.find(cartItem => item == cartItem);
}
console.time('for');
isItemInCartFor(900000);
console.timeEnd('for');
console.time('find');
isItemInCartFind(900000);
console.timeEnd('find');
Это меня, в принципе, не удивляет.for: 2.649ms
find: 27.500ms
У нас в одном из java проектов итераторы вообще запрещено использовать - там куча памяти отводится фиг знает на что плюс делаются всякие ненужные вызовы.
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
Я не говорю на том йызыке, что вы тут напейсали, но выглядит так, что find делает ровно тот же линейный поиск. с чего бы он был быстрее?mikeG wrote: ↑12 Oct 2018 19:23 Мне пока нет 55, поэтому напишу тест - что быстрее найдет элемент в корзине - for или find
Результат - цикл в 10 раз быстрееCode: Select all
var cart = []; for (var i=0; i< 1000000; i++) { cart[i] = i; } function isItemInCartFor(item) { for (var i=0; i<cart.length; i++) { if (cart[i] == item) { return true; } } return false; } function isItemInCartFind(item) { return cart.find(cartItem => item == cartItem); } console.time('for'); isItemInCartFor(900000); console.timeEnd('for'); console.time('find'); isItemInCartFind(900000); console.timeEnd('find');
Это меня, в принципе, не удивляет.for: 2.649ms
find: 27.500ms
У нас в одном из java проектов итераторы вообще запрещено использовать - там куча памяти отводится фиг знает на что плюс делаются всякие ненужные вызовы.
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 8485
- Joined: 02 Aug 2003 01:32
- Location: SPb->SFBA
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
да обсосали же уже, причем самые смелые смелые по два раза
нужна производительность (и на одно создание коллекции приходится много поисков) - тогда хэш-что-нить. сэт, мэп - по ситуации.
нужна читаемость - сойдет и ваш пример с find. Но for... я могу понять только если это С/С++ в эмбеддед для мелкой коллекции и там, где скорость критична. Ну или на высоконагруженном сервере с рядом оговорок.
ЗЫ. Перечитал, понял, что несколько коряво выразиил мысль ии есть, до чего докопаться. Но, думаю, смысл ясен
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 10775
- Joined: 22 Jul 2006 20:19
Re: 55+ в ИТ
У меня не было никакого желания кого то куда то макать. Это раз. Во вторых - откуда я знаю, что в языке на котором написан код существует метод contains для списка? Естественно если такой метод существует то вместо итерационного перебора надо вызывать его и код будет более читабельным. Но в таком случае вообще нет смысла писать отдельную функцию под названием IsItemInCard.АццкоМото wrote: ↑12 Oct 2018 19:13 Я уже пейсал это Комми, продублирую для вас: просто у вас схожий возраст. В 2018 году items.contains(item) куда яснее, чем for(...) { if(..) ..} . Но когда ты 40 лет работал с подобным кодом, он может показаться нормальным. Почему-то идея реализовывать свою сортировку даже 60+ летним очевидно противна, а поиск перебором вручную - нет. Чюдиса.
И делать так, как в моем примере, не нужно в том числе из-за той "логической ошибки", которую я допустил. Понимаю, что вы теперь приняли позу орла, типа, ох как я Аццко макнул. Уверяю, такую ошибку может сделать каждый. И не увидеть ее на ревью, когда ревьюят сотни или тысячи строк - тем более. ПОЭТОМУ нам даны нормальные структуры данных со всевозможными "колесами", оттестированными миллиардами человеко-часов, а не потому что мы не можем эти колеса переизобрести
Так что ваши высказывания по поводу чьего либо возраста в данном случае не имеют под собой никакого смысла. Вы просто выбрали плохой пример.
-
- Уже с Приветом
- Posts: 15276
- Joined: 01 Mar 2007 05:18
- Location: VVO->ORD->DFW->SFO->DFW->PDX
Re: 55+ в ИТ
Начнем с конца: я уверен, что возраст имеет определяющее значение. И, хоть в этом нет ничего хорошего, не нужно это принимать как оскорбление. Меня это тоже касается, я хоть и сильно младше вас, но вижу, что более молодые бойцы часто мыслят более прогрессивно. Такова жизнь и от этого никуда не деться.adda_ wrote: ↑12 Oct 2018 21:03У меня не было никакого желания кого то куда то макать. Это раз. Во вторых - откуда я знаю, что в языке на котором написан код существует метод contains для списка? Естественно если такой метод существует то вместо итерационного перебора надо вызывать его и код будет более читабельным. Но в таком случае вообще нет смысла писать отдельную функцию под названием IsItemInCard.АццкоМото wrote: ↑12 Oct 2018 19:13 Я уже пейсал это Комми, продублирую для вас: просто у вас схожий возраст. В 2018 году items.contains(item) куда яснее, чем for(...) { if(..) ..} . Но когда ты 40 лет работал с подобным кодом, он может показаться нормальным. Почему-то идея реализовывать свою сортировку даже 60+ летним очевидно противна, а поиск перебором вручную - нет. Чюдиса.
И делать так, как в моем примере, не нужно в том числе из-за той "логической ошибки", которую я допустил. Понимаю, что вы теперь приняли позу орла, типа, ох как я Аццко макнул. Уверяю, такую ошибку может сделать каждый. И не увидеть ее на ревью, когда ревьюят сотни или тысячи строк - тем более. ПОЭТОМУ нам даны нормальные структуры данных со всевозможными "колесами", оттестированными миллиардами человеко-часов, а не потому что мы не можем эти колеса переизобрести
Так что ваши высказывания по поводу чьего либо возраста в данном случае не имеют под собой никакого смысла. Вы просто выбрали плохой пример.
А вот что до конкретного примера, вы его так и не поняли до конца. Во-первых, вы, конечно, не обязаны знать метод contains() для списка. Но вот догадаться, что он есть, как бы он ни назывался, модно было бы. Вы же вне зависимости от языка догадываетесть, что есть get() например? И что, в 2018 году трудно догадаться, что есть и поиск? Или там, что есть реактивные библиотеки, которые этот поиск распараллелят во вполне себе идиоматическом ключе без особого риска выстрелить себе в ногу?
А вообще идея была в том, что в большинстве случаев нужно выбирать другую структуру данных. А вовсе не в том, что есть метод contains
Мат на форуме запрещен, блдж!
-
- Уже с Приветом
- Posts: 10775
- Joined: 22 Jul 2006 20:19
Re: 55+ в ИТ
Несомненно возраст имеет значение. В первую очередь скажем я стал с возрастом менее категоричным в своих суждениях о том что такое хорошо и что такое плохо.АццкоМото wrote: ↑12 Oct 2018 21:22 Начнем с конца: я уверен, что возраст имеет определяющее значение. И, хоть в этом нет ничего хорошего, не нужно это принимать как оскорбление. Меня это тоже касается, я хоть и сильно младше вас, но вижу, что более молодые бойцы часто мыслят более прогрессивно. Такова жизнь и от этого никуда не деться.
А вот что до конкретного примера, вы его так и не поняли до конца. Во-первых, вы, конечно, не обязаны знать метод contains() для списка. Но вот догадаться, что он есть, как бы он ни назывался, модно было бы. Вы же вне зависимости от языка догадываетесть, что есть get() например? И что, в 2018 году трудно догадаться, что есть и поиск? Или там, что есть реактивные библиотеки, которые этот поиск распараллелят во вполне себе идиоматическом ключе без особого риска выстрелить себе в ногу?
А вообще идея была в том, что в большинстве случаев нужно выбирать другую структуру данных. А вовсе не в том, что есть метод contains
К сожалению я не знаю что такое идеоматический ключ и что вы понимаете под словом реактивные библиотеки, поэтому ничего не могу сказать про последнюю часть вашего высказывания.