170 похожих чатов

Наверно в очень простом коде, когда ты точно знаешь место

где падает и надо просто по шагам посмотреть переменные?

20 ответов

13 просмотров

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

Или когда надо поймать момент когда переменная приняла странное значение, есть брейкпойнты на запись в память

Tishka17- Автор вопроса
Andrey
По опыту совсем наоборот, когда код сложный и ты д...

Раскидываю десяток принтов и смотрю по логу где пошло не так. Потом сужаю куски

Tishka17
Раскидываю десяток принтов и смотрю по логу где по...

А это уже не совсем логирование, а отладка принтами

POSIX Обозов
Отвратительно

Крайне не эффективный подход, у которого есть даже название: "Поиск принтами, гадание". Типичный антипаттерн грамотной отладки.

Tishka17
Раскидываю десяток принтов и смотрю по логу где по...

Делаю то же самое, только запускаю тесты на код. pytest выводит принты только неудачных тестов и бонусом я вижу какой именно assert завалился

Tishka17- Автор вопроса
Arkady Strugatsky
Делаю то же самое, только запускаю тесты на код. p...

Да, я тоже последнее время тестами это делают

POSIX Обозов
Крайне не эффективный подход, у которого есть даже...

Намного эффективнее грамотно использовать дебагер.

POSIX Обозов
Крайне не эффективный подход, у которого есть даже...

Ну, часто это действительно удобно. Если результат достигается быстро и удобно - какой это антипаттерн? Просто так получается очень не всегда.

POSIX Обозов
Намного эффективнее грамотно использовать дебагер.

обычно лучше всего работает метод пристального взгляда

И друг мой грузовик 🚛
а как подключить дебаггер к блокноту?

Ещё идиотские вопросы будут? Даже в условном Code Complete целый раздел о проблемах подобного подхода и других антипаттернах есть

Tishka17
pdb

о нифига себе. Я думал дебаггер это что то стороннее, сделанное разработчиками иде

POSIX Обозов
Ещё идиотские вопросы будут? Даже в условном Code ...

Расстановка принтов и сужение круга поиска, намного неудобнее дебагера и брейкпоинтов. Разработчик часто видит то что он хочет видеть

Похожие вопросы

Обсуждают сегодня

Ребят в СИ можно реализовать ООП?
Николай
32
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем доброго вечера. Разрабатываю 32 раз. приложение в Delphi. Столкнулся с тем, что стандартный  TFilestream  не работает с большим файлом > 2 ГБайт (после вызова функции see...
Vadim Gl
16
добрый день. Подскажите, есть сайт на 1.4.7 и я хочу обновиться, особо ничего не меняя. мне выбирать версию 1.4.35 или третью ветку? и можно ли обновлять "как есть", или нужно...
Digital Cat
12
народ, плиз хелп, всю голову сломал себе уже... разве может быть так, что GetProcAddress( GetModuleHandle( "kernel32.dll" ), "SetThreadDescription" ) вернёт ненулевое значение...
Iluha Companets
12
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Кстати, что за тип булеана, который в памяти как 00 для фолса и 01 для тру отображается? Однобайтовый
Serjone
8
ребят подскажите почему матрица не транспонируется? #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <locale.h> #define N 7 int main() { int...
† C E †
1
Карта сайта