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

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

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

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

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

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

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

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

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

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

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

"запустить еще раз", - часто срабатывает в проектах, состоящих из множества раздельных приложений и/или имеющих какую-то разновидноть короткоживущего кеша.
"запустить еще раз" - это если есть многопоточность. Там сидеть в отладке бесполезно, ошибка не воспроизведется. Да и добавление вывода в лог может нарушить тайминги и опять не воспроизведется. Приходится "запустить", "подумать", "запустить", "подумать"...и поставить критическую секцию.
Иногда "принтф" может не то что найти баг, она может изменять переменные своим наличием©личный опыт
опа, да ты еще и программист?
Что значит "ёщё"
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$.
Способы вообще разные бывают
^ Я СЕЙЧАС КОМУ-ТО ТУТ ВЫПОЛНЮ НЕДОПУСТИМУЮ ---- операцию///
А еще есть визуальный дебаг. Графики, 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