В смысле запустить код еще раз не помогло? / it-юмор :: Дебаг :: стратегия отладки :: geek (Прикольные гаджеты. Научный, инженерный и айтишный юмор)

it-юмор geek стратегия отладки Дебаг 

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

СТРАТЕГИЯ ОТДАРКИ
_ ПОЙМАТЬ ---------------------
О НАР ПРОБЛЕМОЙ Г\ ПРОЧИТАТЬ
{у Т>ОКУМЕНТАЦИЮ
ОТДАРИТЬ
О о помошью
VEБAГEPA
0 ВОСПОЛЬЗОВАТЬСЯ ^ УТОЧКОЙ
РЛЯ ОТДАРКИ
1-Я ССЫЛКА В ГУГЛЕ
О
5-Я ССЫЛКА В ГУГЛЕ
О
РЯШТГ("НЕЯЕ"); О
ЗАПУСТИТЬ ТОТ ЖЕ КОТ ЗАНОВО В HAVEЖVEJ ЧТО ОН
ЗАРАБОТАЕТ Q
Подробнее
СТРАТЕГИЯ ОТДАРКИ _ ПОЙМАТЬ --------------------- О НАР ПРОБЛЕМОЙ Г\ ПРОЧИТАТЬ {у Т>ОКУМЕНТАЦИЮ ОТДАРИТЬ О о помошью VEБAГEPA 0 ВОСПОЛЬЗОВАТЬСЯ ^ УТОЧКОЙ РЛЯ ОТДАРКИ 1-Я ССЫЛКА В ГУГЛЕ О 5-Я ССЫЛКА В ГУГЛЕ О РЯШТГ("НЕЯЕ"); О ЗАПУСТИТЬ ТОТ ЖЕ КОТ ЗАНОВО В HAVEЖVEJ ЧТО ОН ЗАРАБОТАЕТ Q > КАК. ЧАСТО Я ЭТО РЕЛАК?
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,стратегия отладки,Дебаг
Еще на тему
Развернуть
А как же тупо глядеть на код в надежде найти опечатку там, а не в своих генах
Ну если механическое запоминание ты связываешь с генами - у меня для тебя плохие новости.
ичх, неожиданно эффективный метод
Попадает под "подумать"
Спрашивать код "Какого хрена ты не работаешь? Что тебе надо, блять?"
при этом постукивая в шаманский бубен
Где-то на третью бессонную ночь код сам начинает с тобой разговаривать, причем иногда подсказывает дельные вещи, типа вариантов оптимизации и ошибок в строках.
Это на вторую. На третью -- варианты трудоустройства.
Тоже, в общем-то, дельные вещи.
Правильно, а вдруг ошибка не в коде, а в окружении? На до же в повторяемости ошибки убедится...
repitter repitter 04.01.201917:04 ответить ссылка 2.3
это называется запустить в другом окружении. И кстати это правильно, потому что на изменении косяка проще выловить.
12111 12111 04.01.201919:21 ответить ссылка 0.0
Ну в принципе, в первую очередь проверяют данные, а потом логику.
На самом деле принт эффективен, когда надо проверить промежуточные данные, которые не хранятся и не ловятся в отладке.
Вот последний по эффективности метод это полная жопа. В тот единственный раз из тысячи, когда он может помочь, а ты не перезапустишь потеряешь кучу времени и нервов. И в конце разобьешь лицо фейспалмами. Так что лучше в любой не понятной ситуации перезапускать.
Zhook Zhook 04.01.201917:40 ответить ссылка 1.0
Почему жопа? Всё равно для сложных багов придётся код запускать сотни раз. Один дополнительный погоды не сделает. Только я бы заменил на "запускаю код заново в надежде, что баг воспроизведётся". Потому что баги, которые воспроизводятся только иногда — вот это самый настоящий пиздец.
phlush phlush 04.01.201918:00 ответить ссылка 1.2
Обычно во время отладки делаешь hotswap без перезапуска.
Zhook Zhook 04.01.201919:38 ответить ссылка -0.3
А что за уточка. И почему к ней так редко обращаются?
trash41 trash41 04.01.201917:47 ответить ссылка 0.3
это когда сажаешь перед собой резиновую уточку и объясняешь ей что делает твой код
Обычная резиновая уточка для ванн. Или кот. Или тульпа. Или посторонний, который зачем-то смотрит, как ты кодишь. Все эти сущности обладают мистическим скиллом программирования: делать решение проблемы очевидным, если ты сумеешь им описать, в чём собственно проблема и на каком этапе она возникает.
А пользуются редко, потому что формулировать проблему почти так же лень, как и думать над проблемой.
Moon_Fox Moon_Fox 04.01.201918:06 ответить ссылка -0.1
Утилита.
Все не совсем так.

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

"Прочитать документацию" - это путь новичка, который эту документацию еще не помнит наизусть.

"Дебаггер" - это хорошее решение, но не везде доступное.

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

"Уточка для отладки", - это разновидность первого метода (подумать).

"5-я ссылка в гугле", - да хоть 10-я, если краткое описание показывает, что она больше соответствует твоей проблеме.

"printf", - это частный случай логов, а обмазываться логами - наиболее эффективный способ отладки там, где нет возможности использовать дебаггер

"запустить еще раз", - часто срабатывает в проектах, состоящих из множества раздельных приложений и/или имеющих какую-то разновидноть короткоживущего кеша.
Hellsy Hellsy 04.01.201918:02 ответить ссылка 2.4
"запустить еще раз" - это если есть многопоточность. Там сидеть в отладке бесполезно, ошибка не воспроизведется. Да и добавление вывода в лог может нарушить тайминги и опять не воспроизведется. Приходится "запустить", "подумать", "запустить", "подумать"...и поставить критическую секцию.
Axil Axil 04.01.201918:28 ответить ссылка 1.5
Иногда "принтф" может не то что найти баг, она может изменять переменные своим наличием©личный опыт
опа, да ты еще и программист?
Что значит "ёщё"
CUTE 80У5 THAT
ояеее like cipls
MAKE THE BEST PßOCßAMMEPS
pro gramnin g-mo t he rf uc ke r. с о m ^	PiPthon.org
Я все еще настаиваю на том, что вам не хватает третьего, Хуёвины.
Рано или поздно появится и он...
Вообще мой ник пошёл от "наношняги"(да-да, та самая с демотиватором) но я забыл как именно, она там была названа, так что немного проебался. Это если кому интересно
эта штоль?
vjKHmoHvii
секундочку. На фото все же тян, а не трапы.
Да, и сайт пытается мне впарить книжку за 30$.
Способы вообще разные бывают
^ Я СЕЙЧАС КОМУ-ТО ТУТ ВЫПОЛНЮ НЕДОПУСТИМУЮ
---- операцию///
Saddler Saddler 04.01.201919:30 ответить ссылка 1.3
А еще есть визуальный дебаг. Графики, 2D изображения, 3D хрень. Когда лучше один раз увидеть, чем 100 раз задебажить или вдуплять в логи.
Например, срань, которую я делаю в перерывах между реактором. На визуализации легко увидеть, что что-то кажется пошло не так.
А позвольте поинтересоваться, что это такое?
современное искусство
Определение препятствий с помощью охуевшего лазерного дальномера (ЛИДАР).
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
СДЕЛАТЬ СВОЙ КОД БЫСТРЕЕ
ДОБАВИТЬ
ПРОГРЕСС-БАР Стажер	х = 10;
Джун	х = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1;
Мидл	■рог (хп1: г = 0; 1 > -11; 1--) { х -= 1; }
Сеньор	до { х = пеы Рапс1от() .пех1:1п1:();
	} У\М1е (х != 10);
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор код программирование

Стажер х = 10; Джун х = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1; Мидл ■рог (хп1: г = 0; 1 > -11; 1--) { х -= 1; } Сеньор до { х = пеы Рапс1от() .пех1:1п1:(); } У\М1е (х != 10);

rM F [n r t n tD.n'Tunctlon dt(n,-.,r,e, ;,o,fHva' c; '"(")>	zr(n,t); ("(object Object)" a "lobject Argu>|
u(s n,functioniu,i){s (1 U,U n[i)),lt(C,i,dt(U,t,r,e.li« F (u	n) i{0)>	fotv )	true)function xt(n,t«
';r it l(t,S(r))),e (i a,o false) 23« t.length (i ction wt(n,t){var r true;	ro(n,f unctl
подробнее»

it-юмор geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор кровать код

 rM F [n r t n tD.n'Tunctlon dt(n,-.,r,e, ;,o,fHva' c; '"(")> zr(n,t); ("(object Object)" a "lobject Argu>| u(s n,functioniu,i){s (1 U,U n[i)),lt(C,i,dt(U,t,r,e.li« F (u n) i{0)> fotv ) true)function xt(n,t« ';r it l(t,S(r))),e (i a,o false) 23« t.length (i ction wt(n,t){var r true; ro(n,f unctl
Ricardo Ferri
@riferrei
Разработчики ком

:ter for iPhone