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

Сравнивать логирование и дебаг ну не серьёзно ребят. Логи это

логи, это инструмент для анализа работы уже разработанного приложения, как вообще разрабатывать без отладки, не представляю, через каждую строку вставлять print? Ну это блин какое-то хождение по углям. Да принт может быть полезен в некоторых случаях, но как исключение

11 ответов

20 просмотров

логи+тесты Ну и про сложности отладки в многопоточном приложении тоже не стоит забывать. Ну и в целом, спор бесмысленный: тесты и логи нужны, дебаггер по желанию

Кажется странным, но как раз дебаггинг - это исключение. Насколько сложен ваш код, что пройдясь по нему внимательно глазами, вы не можете понять, где ошибка? Если уж есть баг, то единичные assert и print должны помочь, если нет, то с кодом явно проблемы серьёзнее того бага

Артём-Лазаренко Автор вопроса
Кирилл
Кажется странным, но как раз дебаггинг - это исклю...

Ты профессиональный программист или это у тебя хобби?

Артём-Лазаренко Автор вопроса
Кирилл
Почему у вас сомнения?

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

Артём Лазаренко
Это не сомнения, это любопытство, если вы работает...

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

Артём Лазаренко
Это не сомнения, это любопытство, если вы работает...

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

Артём-Лазаренко Автор вопроса
Roman 🎄
У вас какой-то странный наезд на тех, кто не польз...

Опять путаница процесса разработки приложения и эксплуатации. И кстати, я не наезжаю, я искренне удивляюсь

Артём Лазаренко
Опять путаница процесса разработки приложения и эк...

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

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

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

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта