Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Часто ли вы психуете, если не можете найти ошибку в коде? (http://www.flasher.ru/forum/showthread.php?t=169278)

goodguy 01.10.2011 23:27

Часто ли вы психуете, если не можете найти ошибку в коде?
 
Пару дней назад начал финальную сборку своей рпгшки, которая отдельными компонентами работала отлично.
Там есть довольно сложная система построения карты местности, которую я долго писал, и уже казалось все идеально. Но вот собрал все воедино, и обнаружился один очень неприятный глюк с этой картой, который я уже часов 6 пытаюсь отловить всеми возможными способами от трейсов до брейкпоинтов. Я уже просто на грани нервного срыва, глюк никак не находится, а от самого кода волосы встают дыбом ))
Все домашние уже незаслужанно попали под "горячую руку" =)
Решил отложить все на завтра, а то правда нервный срыв будет :D

Вот стало интересно, много ли кто сталкивается с такими ситуациями (именно в кодинге), которые доводят до психов?

carrotoff 01.10.2011 23:46

Меня часто с ума сводила верстка под ie! Просто ад! Верстаешь всё как положено, валидно, по фэн шую. Работает везде, кроме ie. И наступает пора костылей. Это меня реально бесит.

Мы у себя проверку под ie называем краш-тестом)

Добавлено через 2 минуты
А в плане кодинга часто сталкивался с подобными ситуациями, когда начинаешь искать ошибку сразу с "глубины", а спустя часы выясняется, что виной всему была "очепятка" где-нибудь на поверхности. Моя клавиатура и стол часто страдают от моих нервов:)

goodguy 01.10.2011 23:53

Цитата:

когда начинаешь искать ошибку сразу с "глубины", а спустя часы выясняется, что виной всему была "очепятка" где-нибудь на поверхности.
Бывает, что где-то x вместо y напишешь или 2 раза одно и то же для разных свойств )
Но тут я уже все на такие ситуации проверил, проблема в чем-то другом.

mooncar 02.10.2011 00:02

Ситуация знакомая. У меня есть специальное место для ловли таких багов - балкон. Почти любая проблема решается, как ни странно, именно там, когда уходишь туда на "покурить" - прокручиваешь в голове все по шагам и баг ловится! Даже бывает, что решение приходит уже иногда даже на пороге балконном. Хотя до этого мог сидеть час или два перед монитором. Иногда удается отловить сам баг, иногда точно понять, откуда растут корни и где искать.
Когда заметил, стал специально использовать. Иногда использую не только для ловли бага, но и для решения трудной задачки - при кодинге или аналогичной процедуре.

Alex Lexcuk 02.10.2011 00:28

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

iNils 02.10.2011 01:39

Цитата:

Сообщение от carrotoff (Сообщение 1036079)
Меня часто с ума сводила верстка под ie! Просто ад!

Забавно. Хотя и пользуюсь FF, но для IE проблем с версткой нет, а вот для всех остальных браузеров постоянно. Слава богу, что версткой я занимаюсь редко и только для себя.

А в целом, тупиковые моменты возникают редко, 1-2 в год, а так трейсы всегда помогают (чего не скажешь о дебаггере, поэтому им и не пользуюсь).

Больше раздражает, когда проблема возникает не у меня, а у тестера. И ты не можешь ее поймать. У меня был один баг, который я не мог поймать 3 месяца, пока не купил себе мак и не прогнал swf на всех плеерах 10.x, только после этого понял в чем проблема.

NikolyA 02.10.2011 01:58

когда происходит затык, обычно бросаю все и на свежий воздух часок другой, потом когда проветрюсь, легче думать и можно дальше отлавливать

fish_r 02.10.2011 02:18

Ха! Подумывал этот же вопрос задать на форуме :) Хороший парень опередил :)

Вот только вчера вечером сидел за столом и подумывал: чтобы такое двинуть, чтобы потом не пожалеть :)

В двух словах попробую: сижу, смотрю в код, в коде в конце некоторого метода вешается слушатель на некий объект, который в конце своей работы диспатчит событие, которое этот слушатель и отлавливает, и следующий же метод его обрабатывает.

Так. Слушатель вешается, объект диспатчит... но событие не отлавливается!!! Как это может быть?! :((
И так всё замуровано, что объект выносить куда-то крайне неудобно - слишком много аргументов он требует (которые и симулировать то непросто). Читал код, лазил, уже наугад и туда и сюда, уже даже сам не зная зачем... даже версию плеера менял - ноль!

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

И ведь нашел :) Оказалось, что событие диспатчившееся в методе обработчике, в этом коде, для объектов более высокого уровня, заставляло отрабатывать систему так быстро, что слушатель с предидущего объекта не уничтожался, а иже с ним и объект, который из за этого не успевал ликвидироваться, поэтому новый объект не успевал занять его место и подписка на его события, в результате, ничего не давала, так как он события то и не генерил, генерил тот объект, контроль над которым я уже потерял но не уничтожил.... Поменял две строчки местами и вуаля!
Не знаю - понятно или нет обрисовал. Ну, вот так, вот получилось... :)


А ещё таки вещи здорово достают когда дедлайн уже так близко, что раздражает уже всякое отклонение от запланированного хода построения или тестирования. :)

MXPain 02.10.2011 02:43

постоянно психую когда чтото не получается

GBee 02.10.2011 10:19

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

Обычно бесит кривое описание багов от тестеров. Был "баг": В фоновом градиенте приложения четко виден переход цвета (ступенями) - браузер ФФ2.

Зубило 02.10.2011 10:49

У меня это происходит обычно так...сижу и часами невылазя ищу проблему пока сил уже не хватает чтоб моргать,иду спать и проблема решается уже с утра:)

goodguy 02.10.2011 13:40

Цитата:

Ошибки свои легко находятся, а вот в фреймворке каком-нить или незапланированное/недокументированное поведение какого-нибудь компонента взрывает мозг
Не всегда. Бывает пишешь код, потом оставляешь на недельку-другую, снова возвращаешься и получаешь какой-то баг, а начинаешь искать, и понимаешь, что этот код как-будто писал кто-то другой )

Цитата:

У меня это происходит обычно так...сижу и часами невылазя ищу проблему пока сил уже не хватает чтоб моргать,иду спать и проблема решается уже с утра
Вот с э той проблемой, которая в первом посте, с утра сегодня махом разобрался. Но часто я вообще не могу уснуть пока хотя бы причину не выясню. И потом во сне эта хрень снится будет :D

gloomyBrain 02.10.2011 15:30

На самом деле довольно забавно, когда сидишь в офисе, напряженно смотришь в монитор, и вдруг само-собой вырывается: "Да что за *****?!". И народ вокруг начинает как-то подозрительно на тебя коситься =)

TanaTiX 02.10.2011 16:06

Цитата:

Вот с э той проблемой, которая в первом посте, с утра сегодня махом разобрался.
Очень часто так бывает. "Утро вечера мудренее"
Еще бывает полезно рассказать кому-то о проблеме (не обязательно даже специалисту в этой области). Пока рассказываешь, каким-то образом приходит осознание в каком направлении двигаться дальше. Подкорка - великая сила!

goodguy 02.10.2011 17:26

Цитата:

"Да что за *****?!". И народ вокруг начинает как-то подозрительно на тебя коситься =)
Бывает и такое :D

GBee 02.10.2011 19:38

Цитата:

"Да что за *****?!". И народ вокруг начинает как-то подозрительно на тебя коситься =)
Из разряда "Почему наш русский программист периодически кричит 'твой кролик писАл'?"

Inet_PC 03.10.2011 00:00

Ага, качество кода измеряется в WTF в минуту, мну просто бесит ситуации такого рода, даже не знаю, что делать, намучавшись бросаю, и на след день, или два все вроде решается)

Добавлено через 38 секунд
Но раздражает очень сильно хочется рвать и метать((

expl 03.10.2011 01:17

Высокий WTF/минуту вызывает сначала улыбку ("Во чуваки дают!"), потом, когда понимаешь, что "без поллитры" тут не разберешся - уныние, но не психоз.

Бесит, когда ты уже 2 часа долбишь один компонент, а он _не_ хочет работать, вроде вот код перед глазами, вроде ясно все, а скомпилированная версия так _не_ считает.
Я обычно, после нескольких ударов лбом об клаву, поворачиваюсь к колеге и излагаю суть проблемы. Причина проблемы в 70% случаев вспылвает в мозгу на середине изложения :)

wvxvw 03.10.2011 01:50

Обычно начинаю с того, что во всем обвиняю кого-то другого. Потом читаю соответствующий раздел в Википедии, потом пишу тест, ну и дальше 50/50 :)

goodguy 03.10.2011 07:37

Цитата:

обвиняю кого-то другого
Кого именно? :D

Волгоградец 03.10.2011 12:31

Я когда сталкиваюсь с такой бедой, то стараюсь воссоздать баг на минималистическом примере. Но как правило такие примеры работают как надо. Ну и тогда уже "Да что за *****?!".

wvxvw 03.10.2011 14:22

Цитата:

Сообщение от goodguy (Сообщение 1036285)
Кого именно? :D

Отмазка всегда есть. У программиста - компилятор, у компилятора - авторы языка, у авторов языка - вендоры операционных систем, у вендоров - производители драйверов, у железячников тоже наверняка есть своя иерархия :)

dark256 04.10.2011 13:32

Кстати клавиатуру классно об угол стола разбивать.
Куча брызг и мощное удовлетворение. Пока до магаза гуляешь за новой - расслабляешься и находишь решение.

P.S.: клаву ломать лучше стоимостью до 300 рублей...

mooncar 04.10.2011 13:36

Цитата:

Сообщение от dark256 (Сообщение 1036572)
P.S.: клаву ломать лучше стоимостью до 300 рублей...

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

dark256 04.10.2011 13:49

Ну и абсолютно рентабельный вариант: http://www.korova.ru/humor/pics/2800/81229480861.gif

mooncar 04.10.2011 13:58

Цитата:

Сообщение от dark256 (Сообщение 1036575)
Ну и абсолютно рентабельный вариант: http://www.korova.ru/humor/pics/2800/81229480861.gif

У нас висел такой на одной работе :)

goodguy 04.10.2011 14:14

он должен не висеть, а выпускаться огромными тиражами и лежать наготове ))

dark256 04.10.2011 14:27

Ндя... ну, то есть относительно топика, я понял - психуем мы редко.... но метко :))))

mooncar 04.10.2011 14:40

Как-то так:
Код:

                              T
Степень багопсихоза = ---------------------
                        (D - Dcurr) x C

Т — темперамент персоны
D — дата и время дедлайна
Dcurr — текущее дата и время
C — степень комфортности рабочей обстановки

dark256 04.10.2011 14:55

Да нуууууу....... Туда еще следует внести целый ряд нормировочно-калибровочных коеффициентов:
к1 - удовлетворение от ЗП
к2 - придурочность начальника
к3 - лояльность заказчика
к4 - погода на улице (дождь-солнце)
к5 - день недели (isMonday, isFriday)
к5.1. - время года
к6 - пил накануне или нет
к7 - сытость (сильно голодный....тока что пожрал)
к7.1. - что есть в наличии (ничего, доширак, бутики, утка печеная в апельсиновом соусе)
к8 - степень интересности проекта (тупая нафик никому не нужная шняга ... мега_проект_века)
к9 - обстановка на личном фронте
к10 - температура в офисе
к11 - время суток
к12 - кто(коллега, смежник, рук-ль проекта) , где(канары дача) и как давно в отпуске (тока что ушел, задерживается из)
к13 - слушает ли тупая секретутка на весь офис тупую радиостанцию с 20 тупыми песенками

При определенном сочетании (D - Dcurr) становится пренебрежимым :)

artcraft 05.10.2011 02:40

[quote=mooncar;1036587]Как-то так:
Код:

                              T
Степень багопсихоза = ---------------------
                        (D - Dcurr) x C

в моём случае, при Т близком к бесконечности, остальные факторы уже не играют особого значения :~)

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

mooncar 05.10.2011 11:19

Цитата:

Сообщение от dark256 (Сообщение 1036591)
Да нуууууу....... Туда еще следует внести целый ряд нормировочно-калибровочных коеффициентов:

Dark, я внес. Они как раз и составляют C
То есть я посчитал, кто степень комфорта, которая складывается из твоих коэффициентов (их на самом деле больее), уже известна. :)

wvxvw 05.10.2011 16:26

Цитата:

Сообщение от dark256 (Сообщение 1036572)
Кстати клавиатуру классно об угол стола разбивать.
Куча брызг и мощное удовлетворение. Пока до магаза гуляешь за новой - расслабляешься и находишь решение.

P.S.: клаву ломать лучше стоимостью до 300 рублей...

Моей клавиатуре больше 10 (десяти) лет :p Единственный продукт Microsoft, который ни разу не вызвал никаких нареканий.

PS: http://i919.photobucket.com/albums/a...cefreakout.gif тоже помогает, очевидно.

Ivaner 05.10.2011 22:07

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

GBee 05.10.2011 22:11

Цитата:

Если у меня закралась какая-то ошибка и я не могу ее обнаружить, просто вырубаю проект как минимум до следующего дня и расслабляюсь
Прихожу утром, не обнаружил ошибку в течение получаса, вырубаю проект как минимум до следующего дня и расслабляюсь. Прихожу утром... :о))

dark256 05.10.2011 22:17

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


Часовой пояс GMT +4, время: 17:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.