juan_gandhi: (Default)
[personal profile] juan_gandhi

Фесбук вдруг признался на твитере, что у них в коде куча NullPointerExceptions в их коде, и они зафигачили тулзу, чтобы с ними бороться.

Кстати, в Гугле была такая ловушка для NPE и прочего, ThirdEye называлась - если у тебя в коде NPE случается в продакшене, то тебе сразу мейл шлют, мол, слышь, инженер... Но это были "нулевые годы".

Вот такие дела. Вы там думаете, что в фесбуке какие-то гении работают. Там работают, по большей части (как и везде) мудаки и долбоебы. Но есть и гении.

Date: 2022-11-23 01:01 pm (UTC)
chaource: (Default)
From: [personal profile] chaource
Когда я работалъ на жабо-андроидахъ, то NPE была одна изъ главныхъ проблемъ, изъ-за которыхъ отлаживать программу приходилось ночами. Постоянно NPE по любому поводу, почти python какой-то, хоть номинально и java. Просто библiотека и SDK построены такъ, что тамъ очень часто получается null.

Date: 2022-11-23 05:57 pm (UTC)
chaource: (Default)
From: [personal profile] chaource
Компиляторъ жабы не провѣряетъ NotNull, это должна дѣлать какая-та спецiальная программа, запускаемая дополнительно. И въ общемъ никому это неинтересно.

А кстати - можно ли въ Scala дѣлать NotNull?

Date: 2022-11-23 01:07 pm (UTC)
ordinary_joe_backup: (Default)
From: [personal profile] ordinary_joe_backup
==по большей части (как и везде) мудаки и долбоебы. Но есть и гении.==

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

Date: 2022-11-23 04:47 pm (UTC)
From: [identity profile] tridecahedron.livejournal.com
Неужто тоже "две вещи несовместные"

Date: 2022-11-23 07:24 pm (UTC)
From: [personal profile] zmeis
В фейсбуке проверяют на null статически, а в гугле, видимо, проверяли в рантайме. Все-таки прогресс за 20 лет :)

Date: 2022-11-23 07:35 pm (UTC)
vak: (Default)
From: [personal profile] vak
Это чисто джавская хворь, что ли?

Date: 2022-11-23 07:39 pm (UTC)
From: [personal profile] zmeis
В С++ тоже больно от nullptr, но там хотя бы видно, что является указателем.

Date: 2022-11-23 07:56 pm (UTC)
From: [personal profile] zmeis
Получается, все интеллектуальные усилия древних индийцев по изобретению нуля как полноценного числа пущены по ветру - оно опять exceptional value :)

Date: 2022-11-24 02:49 pm (UTC)
freedom_of_sea: (Default)
From: [personal profile] freedom_of_sea
эта гадость повсюду, кроме С

потому что программисты С не ленились писать
if ! file обработка ошибок

Date: 2022-11-23 10:18 pm (UTC)
cali4nickation: (Default)
From: [personal profile] cali4nickation
Я лично слишком редко вижу NPE чтобы считать его проблемой. И про ухищрения в Котлине по этому поводу скептичен, крокозяблики напоминают ранее модное увлечение в Scala Collections операторами. Может быть я не пишу энтерпрайз кода с многоуровнемыми геттерами? Но там мне кажется Collections.еmpty или Оptional должны помогать.

В golang вон люди беспрерывно проверяют err на ноль и не жалуются. Структурно то одно и тоже.

Date: 2022-11-23 10:47 pm (UTC)
ircicq: (Default)
From: [personal profile] ircicq
В C# придумали `#nullable enable` со статической проверкой на NRE.

В Java через N лет переймут.

Date: 2022-11-25 09:05 am (UTC)
willyschmerz: (Default)
From: [personal profile] willyschmerz
NPE, по сути, признак логической ошибки, мы что-то не инициализировали, но уже пытаемся использовать.

В С#, в типичном Ms стиле, придумали гениальное решение: спрятать симптом и загнать проблему поглубже, сделать так, чтобы вместо null вокруг летали неинициализированные null-objects. Теперь exceptions не возникают в тот момент, когда мы пытаемся работать с неинициализированным обьектом как будто он инициализирован (т.е. стало ясно, что происходит что-то не то). Вместо єтого мы просто используем неинициализированные данные как есть. Задача решена, землекопа полтора.

А то, что данные используются неправильные и мы в лучшем случае получим уже другой exception дальше по ходу исполнения (но тогда нам еще прийдется поразбираться откуда оно взялось), а в худшем просто тихо получим неверный результат - єто неважно, главное от NPE избавились полностью.

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

July 2025

S M T W T F S
  12345
6789 1011 12
131415 1617 1819
20212223242526
2728 2930 31  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 1st, 2025 08:16 am
Powered by Dreamwidth Studios