55+ в ИТ

User avatar
M. Ridcully
Уже с Приветом
Posts: 9826
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: 55+ в ИТ

Post by M. Ridcully »

Zachet wrote:
10 Oct 2018 02:45
[map][/map]
АццкоМото wrote:
09 Oct 2018 17:11
Komissar wrote:
09 Oct 2018 07:49
У мужика нормальный читаемый код, скорее всего для данной задачи можно обойтись перебором. Меня напрягло, чтотне взбрасывается exception, если в корзине обнаружен item which is null.
Проблема в том, что вы примерно схожего возраста. Поэтому для вас это норм код. Для меня - нет, хоть я себя и чувствую стариком. Приемлемый 30-летний погромист просто блеванет
На самом деле 30-летний погромист учился кодить на питоне, поэтому он выдаст чтото вроде

Code: Select all

 
 
 def isInCart(item, cart):
   return len(filter(lambda x: x.getId() == item.getId(), cart.getItems())) > 0
 
 
Что под капотом тот же обход листа
Уж больно коряво, если вы про Питон.
Лучше уж

Code: Select all

def is_in_cart(item, cart):
    return item.getId() in (it.getId() for it in cart.getItems())
Или даже так, если объекты по-людски написаны:

Code: Select all

def is_in_cart(item, cart):
    return item in cart.getItems()
Don’t Tread on Me

User avatar
Komissar
Уже с Приветом
Posts: 54731
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: 55+ в ИТ

Post by Komissar »

“A вы друзья, как ни садитесь...”

Zachet
Уже с Приветом
Posts: 574
Joined: 06 Jul 2016 18:30

Re: 55+ в ИТ

Post by Zachet »

M. Ridcully wrote:
10 Oct 2018 05:13
Zachet wrote:
10 Oct 2018 02:45
[map][/map]
АццкоМото wrote:
09 Oct 2018 17:11
Komissar wrote:
09 Oct 2018 07:49
У мужика нормальный читаемый код, скорее всего для данной задачи можно обойтись перебором. Меня напрягло, чтотне взбрасывается exception, если в корзине обнаружен item which is null.
Проблема в том, что вы примерно схожего возраста. Поэтому для вас это норм код. Для меня - нет, хоть я себя и чувствую стариком. Приемлемый 30-летний погромист просто блеванет
На самом деле 30-летний погромист учился кодить на питоне, поэтому он выдаст чтото вроде

Code: Select all

 
 
 def isInCart(item, cart):
   return len(filter(lambda x: x.getId() == item.getId(), cart.getItems())) > 0
 
 
Что под капотом тот же обход листа
Уж больно коряво, если вы про Питон.
Лучше уж

Code: Select all

def is_in_cart(item, cart):
    return item.getId() in (it.getId() for it in cart.getItems())
Или даже так, если объекты по-людски написаны:

Code: Select all

def is_in_cart(item, cart):
    return item in cart.getItems()
Не принципиально. Суть в том что 30-летний погромист напишет на питоне обход листа в одну строчку, и забудет. Пока Комиссар будет выяснять, не подменили-ли инопланетяне у него в карте один айтем на нулл.

KinDzaDza
Уже с Приветом
Posts: 1826
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: 55+ в ИТ

Post by KinDzaDza »

Zachet wrote:
10 Oct 2018 16:08
M. Ridcully wrote:
10 Oct 2018 05:13
Zachet wrote:
10 Oct 2018 02:45
[map][/map]
АццкоМото wrote:
09 Oct 2018 17:11
Komissar wrote:
09 Oct 2018 07:49
У мужика нормальный читаемый код, скорее всего для данной задачи можно обойтись перебором. Меня напрягло, чтотне взбрасывается exception, если в корзине обнаружен item which is null.
Проблема в том, что вы примерно схожего возраста. Поэтому для вас это норм код. Для меня - нет, хоть я себя и чувствую стариком. Приемлемый 30-летний погромист просто блеванет
На самом деле 30-летний погромист учился кодить на питоне, поэтому он выдаст чтото вроде

Code: Select all

 
 
 def isInCart(item, cart):
   return len(filter(lambda x: x.getId() == item.getId(), cart.getItems())) > 0
 
 
Что под капотом тот же обход листа
Уж больно коряво, если вы про Питон.
Лучше уж

Code: Select all

def is_in_cart(item, cart):
    return item.getId() in (it.getId() for it in cart.getItems())
Или даже так, если объекты по-людски написаны:

Code: Select all

def is_in_cart(item, cart):
    return item in cart.getItems()
Не принципиально. Суть в том что 30-летний погромист напишет на питоне обход листа в одну строчку, и забудет. Пока Комиссар будет выяснять, не подменили-ли инопланетяне у него в карте один айтем на нулл.
Зато у Комиссара приложение не начнёт падать в продакшн с нуль пойнтер эксепшен когда какое-нибудь другое молодое дарование внезапно(tm) поменяет код по добавлению айтемов в эту корзину.
Хотя, конечно, мы ту обсуждаем сферического коня в вакууме. Без знаний как за кадром устроен этот cart из примера, что там с айтемами (как там например имплементирован метод equal() и т.п.) - все остальное гадание на кофейной гуще. Фреймворки тоже не боги писали, как мне помнится классный библиотечный binary search в Java как раз на 100500 классно гнал фуфло.

User avatar
M. Ridcully
Уже с Приветом
Posts: 9826
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: 55+ в ИТ

Post by M. Ridcully »

KinDzaDza wrote:
10 Oct 2018 16:50

Хотя, конечно, мы ту обсуждаем сферического коня в вакууме.
Дык, чисто потрындеть да своей гениальностью блеснуть, как водится. :mrgreen:
Don’t Tread on Me

User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

KinDzaDza wrote:
10 Oct 2018 16:50
Зато у Комиссара приложение не начнёт падать в продакшн с нуль пойнтер эксепшен когда какое-нибудь другое молодое дарование внезапно(tm) поменяет код по добавлению айтемов в эту корзину.
сюрпрайз: для этого придуманы не только аннотации типа @NonNull, которые решают проблему частично, но и йызыки тиипа Котлина, которые решают проблему полностью. И молодое дарование наверняка умеет этим пользоваться, а старперы будут и дальше надувать щеки "а вот если вдруг"

На всякий случай напомню, что идея Комми - проверять на нуль и кидать эксепшн. Не NPE, а другой. Т.е. по факту у неопытного писюка будет код такой, что нарушить null-safety будет невозможно, а у Комми - такой, что не падает со стыдным NPE, но падает с KommyVerifiedThatHereWeHaveANullPointerInCollectionAndYouAllSuckException :umnik1:
Мат на форуме запрещен, блдж!

User avatar
M. Ridcully
Уже с Приветом
Posts: 9826
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: 55+ в ИТ

Post by M. Ridcully »

А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Don’t Tread on Me

User avatar
Komissar
Уже с Приветом
Posts: 54731
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: 55+ в ИТ

Post by Komissar »

АццкоМото wrote:
10 Oct 2018 17:46
KinDzaDza wrote:
10 Oct 2018 16:50
Зато у Комиссара приложение не начнёт падать в продакшн с нуль пойнтер эксепшен когда какое-нибудь другое молодое дарование внезапно(tm) поменяет код по добавлению айтемов в эту корзину.
сюрпрайз: для этого придуманы не только аннотации типа @NonNull, которые решают проблему частично, но и йызыки тиипа Котлина, которые решают проблему полностью. И молодое дарование наверняка умеет этим пользоваться, а старперы будут и дальше надувать щеки "а вот если вдруг"

На всякий случай напомню, что идея Комми - проверять на нуль и кидать эксепшн. Не NPE, а другой. Т.е. по факту у неопытного писюка будет код такой, что нарушить null-safety будет невозможно, а у Комми - такой, что не падает со стыдным NPE, но падает с KommyVerifiedThatHereWeHaveANullPointerInCollectionAndYouAllSuckException :umnik1:
Мои эксепшны выводятся на экран PM со словами "ЗА ВАМИ УЖЕ ВЫЕХАЛИ"

User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

Komissar wrote:
10 Oct 2018 18:33
АццкоМото wrote:
10 Oct 2018 17:46
KinDzaDza wrote:
10 Oct 2018 16:50
Зато у Комиссара приложение не начнёт падать в продакшн с нуль пойнтер эксепшен когда какое-нибудь другое молодое дарование внезапно(tm) поменяет код по добавлению айтемов в эту корзину.
сюрпрайз: для этого придуманы не только аннотации типа @NonNull, которые решают проблему частично, но и йызыки тиипа Котлина, которые решают проблему полностью. И молодое дарование наверняка умеет этим пользоваться, а старперы будут и дальше надувать щеки "а вот если вдруг"

На всякий случай напомню, что идея Комми - проверять на нуль и кидать эксепшн. Не NPE, а другой. Т.е. по факту у неопытного писюка будет код такой, что нарушить null-safety будет невозможно, а у Комми - такой, что не падает со стыдным NPE, но падает с KommyVerifiedThatHereWeHaveANullPointerInCollectionAndYouAllSuckException :umnik1:
Мои эксепшны выводятся на экран PM со словами "ЗА ВАМИ УЖЕ ВЫЕХАЛИ"
Ага. А когда мой код не работает, фиксят компилятор. Продолжим?
Мат на форуме запрещен, блдж!

User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

M. Ridcully wrote:
10 Oct 2018 18:05
А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропустить
Мат на форуме запрещен, блдж!

User avatar
M. Ridcully
Уже с Приветом
Posts: 9826
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: 55+ в ИТ

Post by M. Ridcully »

АццкоМото wrote:
10 Oct 2018 18:49
M. Ridcully wrote:
10 Oct 2018 18:05
А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропустить
А кто говорил про "пропустить элемент"? Return false сразу и всё.
Кумар не лыком шит, пускай результат зависит от порядка элементов в getItems()!
Don’t Tread on Me

User avatar
Komissar
Уже с Приветом
Posts: 54731
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: 55+ в ИТ

Post by Komissar »

M. Ridcully wrote:
10 Oct 2018 21:24
АццкоМото wrote:
10 Oct 2018 18:49
M. Ridcully wrote:
10 Oct 2018 18:05
А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропустить
А кто говорил про "пропустить элемент"? Return false сразу и всё.
Кумар не лыком шит, пускай результат зависит от порядка элементов в getItems()!
по уму так надо проверять, не подсунул ли Кумар нулевой карт.

User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

M. Ridcully wrote:
10 Oct 2018 21:24
АццкоМото wrote:
10 Oct 2018 18:49
M. Ridcully wrote:
10 Oct 2018 18:05
А вообще всех за пояс заткнет Кумар Дипшитович, который честно поймает null pointer и в обработчике сделает молчаливый возврат безо всякой диагностики. И подумает: "у меня ничего не падает, а вы поебитесь отлаживать".
Кстати, в данном конкретном случае это не самый плохой вариант: нуль ведь это не то, что мы ищем. Т.е. по факту можно не ловить npe а просто проверить на ноль и пропустить
А кто говорил про "пропустить элемент"? Return false сразу и всё.
Кумар не лыком шит, пускай результат зависит от порядка элементов в getItems()!
А, ну так-то да. попадаются очень талантливые люди (ц)
Мат на форуме запрещен, блдж!

User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

Komissar wrote:
10 Oct 2018 22:00
по уму так надо проверять, не подсунул ли Кумар нулевой карт.
по уму надо проверять, не подсунули ли нам Кумара!
Мат на форуме запрещен, блдж!

KinDzaDza
Уже с Приветом
Posts: 1826
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: 55+ в ИТ

Post by KinDzaDza »

АццкоМото wrote:
10 Oct 2018 22:09
Komissar wrote:
10 Oct 2018 22:00
по уму так надо проверять, не подсунул ли Кумар нулевой карт.
по уму надо проверять, не подсунули ли нам Кумара!
:mrgreen:

У нас как-то одному перцу вообше было запрешено что-либо коммитить в обший репозиторий. Только после code review его начальник выборочно сам коммитил шедевры эпистолярного жанра.

Lisa
Уже с Приветом
Posts: 2688
Joined: 25 Jul 2000 09:01

Re: 55+ в ИТ

Post by Lisa »

KinDzaDza wrote:
10 Oct 2018 22:43
АццкоМото wrote:
10 Oct 2018 22:09
Komissar wrote:
10 Oct 2018 22:00
по уму так надо проверять, не подсунул ли Кумар нулевой карт.
по уму надо проверять, не подсунули ли нам Кумара!
:mrgreen:

У нас как-то одному перцу вообше было запрешено что-либо коммитить в обший репозиторий. Только после code review его начальник выборочно сам коммитил шедевры эпистолярного жанра.
Выгнать не проще было?

User avatar
Komissar
Уже с Приветом
Posts: 54731
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: 55+ в ИТ

Post by Komissar »

Lisa wrote:
11 Oct 2018 01:11


Выгнать не проще было?
а если он из одной деревни с начальником?

ystar
Уже с Приветом
Posts: 860
Joined: 27 Apr 2014 17:13
Location: USA

Re: 55+ в ИТ

Post by ystar »

Lisa wrote:
11 Oct 2018 01:11
KinDzaDza wrote:
10 Oct 2018 22:43
АццкоМото wrote:
10 Oct 2018 22:09
Komissar wrote:
10 Oct 2018 22:00
по уму так надо проверять, не подсунул ли Кумар нулевой карт.
по уму надо проверять, не подсунули ли нам Кумара!
:mrgreen:

У нас как-то одному перцу вообше было запрешено что-либо коммитить в обший репозиторий. Только после code review его начальник выборочно сам коммитил шедевры эпистолярного жанра.
Выгнать не проще было?
выгнать? тут только если бюджет заканчивается увольняют, либо что-то типа "мне не нравится diversity" или харазмент какой. за то что ты не работаешь - здесь не выгоняют.

Lisa
Уже с Приветом
Posts: 2688
Joined: 25 Jul 2000 09:01

Re: 55+ в ИТ

Post by Lisa »

ystar wrote:
11 Oct 2018 02:31
Lisa wrote:
11 Oct 2018 01:11
KinDzaDza wrote:
10 Oct 2018 22:43
:mrgreen:

У нас как-то одному перцу вообше было запрешено что-либо коммитить в обший репозиторий. Только после code review его начальник выборочно сам коммитил шедевры эпистолярного жанра.
Выгнать не проще было?
выгнать? тут только если бюджет заканчивается увольняют, либо что-то типа "мне не нравится diversity" или харазмент какой. за то что ты не работаешь - здесь не выгоняют.
"Тут" и "здесь" это где? Везде, где я работала, плохих работников увольняли не задумываясь.

NYgal
Уже с Приветом
Posts: 11855
Joined: 23 Mar 2004 21:10

Re: 55+ в ИТ

Post by NYgal »

Муж искал работу 2 года назад, 60 ровно было. Нашел через знакомых, но и другие варианты были. Этот - лучший по сумме плюшек.
До этого сидел дома 2 года по нашему совместному решению: надо было с ребенком на дом обучении посидеть, он и до того сидел, но он работал из дому до сокращения. Контора его переводила, но мы не захотели в очередной раз, и на этот раз лавочка закрылась.
Контракторствует. Он cissp, не кодировщик, но кодирует понемножку , если ему удобнее кодировать.
Ребенку еще 3 года в школе, так что мы сидим на попе ровно.
Я сейчас практически живу Комми дрим: работаю, ковыряясь потихоньку, данные там данные сям, короче дейта говернанс в госконторе. Люди в целом от терпимых до очень хороших, особых революций нет вроде, тихо по сравнению с индустрией.

В будущем морковка пенсия.
Можно бросить и жить на ренту, но ребенок все равно привязан к школе , и пенсии жалко. Муж по моей просьбе тоже получил тайтл на работу в госслужбе, периодически его зовут на интервью, но он не обязан принимать их оферы, ему пока, тьфу-тьфу-тьфу, на его месте неплохо. Кроме денег плюс - гибкий график, чего у меня,увы, нет.

Это больно, когда хочется лето на лаче проводить. Когда контракторствовала, жто луше удавалось.
Муж пока сам бросать работу не планирует.
Есть еще проекты в планах.

User avatar
Komissar
Уже с Приветом
Posts: 54731
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: 55+ в ИТ

Post by Komissar »

NYgal wrote:
11 Oct 2018 03:44

Это больно, когда хочется лето на лаче проводить. Когда контракторствовала, жто луше удавалось.
Муж пока сам бросать работу не планирует.
Есть еще проекты в планах.
Ничего, мать, держись. Выйдем оба на пенсию, будем лето у тебя на даче на Кейпе, а зиму у меня на даче в Сьерре. :great:

А муж... ну, пусть работает и дальше! 8)

rtogan
Уже с Приветом
Posts: 838
Joined: 13 Dec 2011 11:24

Re: 55+ в ИТ

Post by rtogan »

АццкоМото wrote:
08 Oct 2018 21:04
alexan1 wrote:
08 Oct 2018 19:01
АццкоМото wrote:
08 Oct 2018 18:36
adda_ wrote:
08 Oct 2018 18:20
Я не понял, там похоже ошибка в логике.
Должно быть
boolean isItemInCart(Item item) {
for (int i=0; i<cart.size(); i++) {
if (cart.getItem(i).getId() == item.getId() {
return true;
}
}
return false;
}
Да, return false не на месте. Издержки написания спросоня и без ide

Но смысл, надеюсь, понятен.
а как надо?
ну там HashMap например. всякие RxJava делают то же самое куда элегантнее или там java streams. два последних подхода могут быть спорными, но тупой перебор да еще итакой многословный...
HashMap для корзины, которой в среднем 2-3, пусть даже 10 предметов? ;) Это будет гораздо медленнее, чем линейный перебор. Не говоря уже о том, что неоправданно сделает код менее ясным.

rtogan
Уже с Приветом
Posts: 838
Joined: 13 Dec 2011 11:24

Re: 55+ в ИТ

Post by rtogan »

adda_ wrote:
08 Oct 2018 21:14
АццкоМото wrote:
08 Oct 2018 21:04
ну там HashMap например. всякие RxJava делают то же самое куда элегантнее или там java streams. два последних подхода могут быть спорными, но тупой перебор да еще итакой многословный...
Извините, но код который вы привели не говорит, что для хранения данных в корзине использовалось что либо наподобии хеш таблиц или любого рода упорядоченные списки. Я лично решил, что это обычный не упорядоченый список в котором лежат объекты. Кстати для хранения небольшого количества данных (несколько десятков) - а в обычной корзине покупателя их обычно бывает всего несколько штук, вряд ли имеет место использовать что либо другое. Так что обычный линейный перебор - оптимальное решение. ИМХО.
+ 111111111111

User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: 55+ в ИТ

Post by АццкоМото »

rtogan wrote:
12 Oct 2018 06:59
HashMap для корзины, которой в среднем 2-3, пусть даже 10 предметов? ;) Это будет гораздо медленнее, чем линейный перебор. Не говоря уже о том, что неоправданно сделает код менее ясным.
Суть как раз в том, чтобы сделать код более ясным. Скорость - в данном случае дело десятое. Код ондроедный и будет там потрачено 1 мс или 10 мс - шерифа не колышит, а юзер не заметит. Опять же, если речь пойдет о миллионах элементов, такой человек будет продолжать писать так, как привык.

Иными словами: когда кошка пьет из унитаза, ничего противозаконного не происходит. Но все равно неприятно.
Мат на форуме запрещен, блдж!

NYgal
Уже с Приветом
Posts: 11855
Joined: 23 Mar 2004 21:10

Re: 55+ в ИТ

Post by NYgal »

Komissar wrote:
11 Oct 2018 05:37
NYgal wrote:
11 Oct 2018 03:44

Это больно, когда хочется лето на лаче проводить. Когда контракторствовала, жто луше удавалось.
Муж пока сам бросать работу не планирует.
Есть еще проекты в планах.
Ничего, мать, держись. Выйдем оба на пенсию, будем лето у тебя на даче на Кейпе, а зиму у меня на даче в Сьерре. :great:

А муж... ну, пусть работает и дальше! 8)
:fr:
А если серьезно, то иногда напрягает такая скованность со свободным временем.
Едем с мужем в Бруклин, например, после того, как хорошо отдохнули на даче, а меня так и дергает типа повернуть на запад и сразу на месяц- два неспешно через весь континент и обратно.
Теоретически через 3 года, как ребенок выйдет из школьного возраста - запросто.
А практически... 4 недели отпуска, ну, может больше с переработками, пенсия 16% зарплаты после 10 лет, 40 - после 20, наследуемая пожизненно бенефишиари, которым может быть ребенок.
Жалко забить на несколько миллионов.
Подруга зовет в Аспен - ну не на 3 дня же ехать?
Дачу в Пуэрто Рико не купишь - на 7 дней в году и заморачиваться с удаленной сдачей?
С другой стороны - работа то ненапряжная, и врядли попрут по старости. Можно честно рассчитывать до своих 67 досидеть спокойно.
Таким жалко бросаться.
Вот так мысленно и мечусь :(
Да еще мама, блестящий была врач, забила на работу чуть старше меня сегодняшней, года 54 ей было. Деградация, деменция в 65.
Не хочу. Надеюсь, работа убережет.
А там и таблетку придумают :)
Так что орбайтен!

Return to “Работа и Карьера в IT”