Pull to refresh
34
0.4
Send message

Решение. Северный полюс. 

Решение неполное, там ещё бесконечная пачка решений есть

Вы общаетесь с ботом. Он (и другие смежные аккаунты) высирает по нескольку статей в день для инфоцыган из отуса, обычно это просто пересказ документации, или неработающий код от чатботов. Интересно, какая помойка у них на курсах, если статьи такие. Ну а администрацию хабра видимо всё устраивает.

Для этого нужно максимум десяток другой ключевых слов языка

Приходите в брейнфак, там очень легко. Или самый лёгкий уровень - использовать только mov, всего 1 команда.

у некоторых товарищей есть манера отмазывать Сталина от репрессий под соусом, что он был ни сном, ни духом 

Ладно если так. Местные любители ссср иногда просто говорят, что, "Западные враги убили больше советских граждан, так что они злые, а не Сталин". Или "Какие репрессии? За дело посадили".

хранить всё в git?

iPad/iPhone не дружит с ним. Я добавил синхронизацию этих девайсов через iCloud, но iCloud плохо дружит с гитом, бд гита портится постоянно

Это те самые, которые есть только в джаве, и задизайненые так, что половина "новых" (ver. 8+) фич с ними не работает? Я давно не слежу за языком, может что-то улучшилось?

Ну будет написано в доке

Надеюсь, вы всегда читаете доки ко всем функциям, которые используете. При обновлении версии зависимостей перечитываете доки, всех функций из этих зависимостей. Ну и верите, что доки всегда соответствуют реальности.

Но я ленивый, люблю когда за меня компилятор работает.

так в чем разница?

catch с врапом забудешь сделать, компилятор промолчит.

Даже в таком варианте есть пара моментов:

  • Тут понятно, что ошибки вообще есть. Исключения об этом не скажут. Кроме checked в java, но их дизайн настолько плохой, что ими не пользуются

  • Тут надо явно (в расте) обработать их или прокинуть. Случайно нельзя забыть никак

На тебя заведут статью за вымогательство, а получателям письма будет пофиг. Ну выплатят 60к штрафа, делов-то.

Ловить что-то на верхнем уровне - это понятно. Проблема не в этом

так как ловить исключения на уровне бизнес-логики нужно все равно 

Как узнать, какая именно функция должна быть обёрнута? Оборачивать каждую? Ну ок, допустим мы знаем, что библиотечная функция (к которой у нас нет доступа) может кинуть какое-то множество исключений, и хотим в этом случае подставить дефолтное значение. Внутри этой функции есть вызовы других функций, которые тоже могут кинуть исключение. И вот проблема - если ловить всё, то можем отловить что-то критичное для приложения, потому что мы не знаем полный список того, что могут выкинуть функции. И на верхнем уровне вместо реагирования на критическую ситуацию мы получим нерабочее приложение. Перечислить только известные исключения? Но тогда мы можем пропустить что-то незначительное, и вместо дефолтного значения у нас всё упадёт до верхнего уровня.

Result + panic (если ещё и писать код нормально) решают проблему разделения чего-то реально критичного, на что мы не можем адекватно отреагирвоать, и пользовательские ошибки, которые можем обработать где хотим точечно и типобезопасно - компилятор сам подскажет что в функции, условно, появилась вероятность вернуть ошибку, или список допустимых ошибок изменился. Добиться такого исключениями намного сложнее, и я нигде не видел нормальной реализации этого.

А для checked - компилятор подскажет

Ну только их не используют почти никогда.

На верхнем уровне - вообще всегда нужно делать try-catch

Ну ок, вот мы ловим на верхнем уровне что-то. Теперь приложение не падает, а просто работает неправильно. А всё из-за какой-то одной функции в глубине приложения, которая вдруг стала кидать исключения. Сигнатура вроде не менялась, но теперь её поведение напрямую влияет чуть ли не на всё приложение, всё потому что забыли её обернуть в try-catch. Это ли не выстрел в ногу?

Лучше наоборот - боты будут спрашивать, а кожмешки отвечать. Так и дообучим ИИ до скайнета нормального состояния.

как ты пробросом исключения прострелишь ногу

Функция раньше не кидала исключений, а вдруг стала. Как такое отследить на этапе компиляции?

В Java вы можете описать все возможные Checked exceptions. Но это оказалось совершенно бесполезным.

Потому что было очень неудобным. И рядом с checked были и unchecked исключения, которые вроде про одно, но по факту разные концепции

достаточно сделать try catch

Как узнать, когда это делать? если

документации к функции как раз и описывается.

то сегодня функция не кидает исключения, а в следующей версии кидает, но доку не поправили. Вот и всё, ошибка как бы говорит вам "до встречи в рантайме".

Я воспринял эту книгу скорее не как историю (хотя тут есть хоть какой-то нарратив), а скорее как набор интересных (и не очень) идей, которые придумал автор. Интересно было читать примечания, откуда эти идеи были рождены. Но самих идей на 1 книгу очень много, поэтому воспринимается всё как черновик некого цикла романов, а не повесть про контакт.

А вот вторая книга из цикла сильно хуже - новых идей мало, сюжета ещё меньше. Основной концепт бог - это вирус интересный, но нормально не раскрыт.

Мсье не знает ?, expect(), anyhow

И запретить / предупреждать про unwrap на уровне проекта бесплатно без смс:

# Cargo.toml
[lints.clippy]
unwrap_used = "warn" # или "deny"

То есть вести заметки, а не хранить всё в голове - "Это как ходить по улице исключительно вприсядку"?

что реально мешает айтишнику из региона устроится в на норм.зарплату?

Не все компании предоставляют удалёнку с тем же уровнем ЗП, что и офисные должности. Кто-то хочет видеть тебя 1-2 раза в неделю в офисе. Кто-то явно не пишет, но есть внутреннее распоряжение, что "не нанимаем замкадовцев".

Ну и банально, в Москве всё-таки проще постоить карьеру, потому что ты можешь поработать 1-2-3 года в офисе в "дорогой" и известной компании, которая не хочет удалёнщиков, получить строчку в резюме и уже искать что-то с удалёнкой. Если ты из региона, то у тебя просто не будет возможности получить такой опыт, потому что офисов топовых компаний там нет, и максимум ты можешь найти что-то на уровне "пилю сайт для магаза запчастей". И вот у HR 2 кандидата - у одного 3 года в условном говняндексе, а у другого 5 лет в ноунейм-фирме из провинции. Кого возьмут охотнее?

1
23 ...

Information

Rating
2,059-th
Registered
Activity

Specialization

Frontend Developer, Fullstack Developer
Senior
TypeScript
Angular
React
JavaScript
HTML
CSS