А что ты делаешь с исключительными ситуациями?


11 0

Сейчас у меня был просто великолепный звонок с одним агентством, которому нужна была помощь. У них на сайте валится определенная функция. Чтобы понять проблему, я попросил показать код, где у них проблема и о чудо, они не знают. Уже неделю пытаются вычислить проблему, но даже не знают, в каком файле находится код. Неделю команда из трёх программистов работала над проблемой. Не знаю, что они неделю делали, если никто из них не додумался найти код. 

Хрен с ним, начали искать конечно же это заняло не более 10 минут. Код выглядит вот так:

public void Function(){

 try {

  // здесь пару операций

 }

 catch (Exception e) {

   throw;

 }

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

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

Дальше еще круто - парень спрашивает меня - вот мы найдем, какая ошибка, что делать дальше? 

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

 


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Николай

02 Сентября 2017

А какие варианты в принципе? Логать и разбираться, выводить "something went wrong", если надо)


Максим

03 Сентября 2017

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


луноход

03 Сентября 2017

переписываю на golang - там ошибки по-другому обрабатываются :-D


Дмитрий

04 Сентября 2017

Максим, а зачем вам знать чужие места работы, про первые шаги и т.д.? Поверьте, для вас сейчас все будет по-другому. С тех пор утекло слишком много воды. Тогда были в ходу другие языки программирования, была другая страна, другая экономика, другие технологии, другое образование, другой рынок труда. Вот я даже не вижу, чем вам может помочь данная информация.


Дмитрий

04 Сентября 2017

"А ты что делаешь, когда видишь исключительные ситуёвины? "

Не поверишь, банально, но занимаюсь отладкой. )))


Евгений

05 Сентября 2017

"...сейчас все будет по-другому." Но не до такой же степени, что использовать чужой опыт будет невозможно! Это было то не так давно, лет 10-15 назад уже в условиях дикого капитализма. А учебные планы в вузах, что тогда, что сейчас оторваны от реальности.


ТупаяКеша

06 Сентября 2017

Смотря какое исключение, в большинстве случаев просто фиксишь баг, типа NPE, OutOfMemory, IndexOutOfBounds. Если аппаратные или системные, то здесь ничего не поделать, кроме как записать в лог.

2Евгений А вы знаете, чему сейчас учат в вузах? Посмотрите программу иннополиса например. Может вы учились на смежной специальности, в отличие от программной инженерии. Там как раз учат всему тому, что нужно. Фундаментальные вещи, структуры данных, алгоритмы, мат логику, и др. математику, ооп, функциональное программирование, java, phython, haskell, паттерны, postgresql, oracle. От вуза и специальности зависит.


Евгений

07 Сентября 2017

Не будем вдаваться в детали чему там сейчас учат. Есть факты. Приходит выпускник мехмата ЮФУ на собеседование и ничего этого не знает. Может не все учат эти технологии (и далеко не факт, что они, кроме фундаментальных основ, так уж сильно востребованы). Хотя вполне может быть, что кое-что и знает, но никто у него это не спрашивает. Если посмотреть рейтинги востребованных средств разработки, то кроме java, phython, остальное не входит даже в топ-10, особенно haskell. "Как и положено в таких вещах, ярость отдельных сторонников языка обратно пропорциональна его востребованности на рынке." Он востребован в очень узкой академической среде. Вот про это и речь - обучение в вузах оторвано от реальности.


Tiger

07 Сентября 2017

я думал, только у меня тут говнокод приходится разбирать, а нет, товарищество таких раскинуто на весь мир. Тут тоже такая практика есть. Я, мол, вот уже неделю/2/3/4 ищу ошибку (делаю вид, что работаю усердно), но вот незадача, не могу найти, а давай ка ты быстро ее найдешь, исправишь, а награду получим мы?
Звучит неплохо, верно?


ТупаяКеша

08 Сентября 2017

2Евгений мехмат направление иное вам не кажется? Причем здесь механика? Если не вдаваться в подробности, то чем студент мехмата отличается от юриста?
Посмотрите программу иннополиса. Есть достойные вузы, где действительно можно научиться, если захотеть.
Я говорил про функциональные языки типа Erlang и Hasckell, которых не так много. Конечно они не входят в топ 10, но у них есть ниша. В вузах учат не только Java, Python, но и C#, C++, JS, чего с головой хватает.


Александр

09 Сентября 2017

Я закончил матмех УрГУ в 2003 году. Программирования было не очень много на учебе, в основном алгоритмы сортировок и т.п. на Pascal. Математики было много. Но я без проблем освоил Basic, FoxPro, MS Access, VBA, SQL, Delphi, 1С по книгам и с помощью начальников на работе. Каких-то запредельных знаний при приеме не требовали, понимали, что освою все по ходу работы, но желательно самому заранее по-изучать тот язык, с которым хотите работать, написать какую-то полезную программу на нем, чтобы ее показать при приеме. Начал изучать Basic в 12 лет на ПК ZX Spectrum, в 10 классе освоил на ZX Spectrum ассемблер. На 3 курсе подрабатывал на FoxPro, сестра купила книгу по FoxPro и дала дискету с дистрибутивом FoxPro, проблем в освоении не было. Во время учебы подрабатывал созданием баз на MS Access. В Delphi помогли разобраться книги Михаила, спасибо за книги Михаилу. Сразу после учебы пришлось идти на низкооплачиваемую работу, но программистом. Предлагали пойти заправщиком картриджей, но я думал на перспективу и не ошибся, через 3 года я уже устроился на более оплачиваемую работу. Сразу после учебы без опыта не хотят брать, надо быть готовым работать на не очень оплачиваемой работе, ради опыта. Хорошее базовое образование дает очень много. На сайте журнала Хакер утверждают, что не надо поступать в ВУЗ, а достаточно онлайн курсов, я с этим категорически не согласен. ВУЗ надо по-любому закончить. А там уже хоть по книгам, хоть по курсам можно изучать программирование. Исключительные ситуации в программах отлавливаю, смотрю характер ошибки и исправляю.


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне