Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
xxx: Бля, я написал какое-то говно
yyy: Я видел некоторое дерьмо
xxx: Пиздец просто
zzz: Действительно говно.
xxx: Я не знаю даже нахуя я это делал
xxx: Почему-то, когда начинал, мне не пришло в голову, что логгирование на макросах, конфигурируемое в компилтайме — это пиздец
Тебя прикалывает придумывать уникальное сообщение для каждого места, где ты что-то логируешь? Меня - нет. Гораздо проще автоматически добавлять имя функции и/или строчку+файл в лог...
P.S. Няша, ты над большими проектами вообще работал?
Няша, немного работал и продолжаю работать. И как ни странно, сообщения получаются уникальными сами. Попробуй писать в логах осмысленные предложения на английском языке.
Кстати, как в этом твоем большом проекте админы и саппорт относятся к именам функций и номерам строк вместо логов?
Да и я, когда админил, нормально относился и к именам функций и бектрейсам жабы/шарпа. На самом деле, даже помогает понять, что именно прога делала в момент ошибки.
Да почему, те же бектрейсы часто и без исходников понятно... Даже если их никогда не видел и не увидишь. По крайней мере можно косвенно догадаться что вообще прога делала...
Мне сегодня завернули код-ревью изза того, что использовал указатель на функцию, по причине того, что таким образом в стектрейсе имя функции не проявится.
А по поводу логов, имхо, самое лучшее решение которое я когда либо видел: bash -x -c "мой код". Жаль это для больших програм не подойдет.
Я бы точно не стал делать логирование на макросах. Ради того, чтобы поменять настройки логгирования пересобирать проект? Зачем так жить. А еще лучше, когда эти настройки нужно поменять на компутере тестера, где проект и собрать-то нечем.
Я в стектрейсах видел имена функций вызванных по указателю из всяких std::bind. Может в этих ваших няшных сишечках своя специфика конечно. Мне чето казалось, отладчику пофиг, как была вызвана функция, когда адрес есть, по которому можно символ найти.
Тебя прикалывает придумывать уникальное сообщение для каждого места, где ты что-то логируешь? Меня - нет. Гораздо проще автоматически добавлять имя функции и/или строчку+файл в лог...
P.S. Няша, ты над большими проектами вообще работал?
Кстати, как в этом твоем большом проекте админы и саппорт относятся к именам функций и номерам строк вместо логов?
"Error with DB connection
All OK
All OK
Fatal error with user data
All OK
I'm handsome guy
End of logs
"
Да и я, когда админил, нормально относился и к именам функций и бектрейсам жабы/шарпа. На самом деле, даже помогает понять, что именно прога делала в момент ошибки.
А по поводу логов, имхо, самое лучшее решение которое я когда либо видел: bash -x -c "мой код". Жаль это для больших програм не подойдет.
Я бы точно не стал делать логирование на макросах. Ради того, чтобы поменять настройки логгирования пересобирать проект? Зачем так жить. А еще лучше, когда эти настройки нужно поменять на компутере тестера, где проект и собрать-то нечем.
Чтобы символ по адресу искать - надо крешдамп или хотя бы адреса модулей в логе...
З.Ы. Ну кстати идея с выводом адреса в лог мне понравилась.
Это в каком языке?
Буст с вами не согласен.
http://politobzor.net/show-83675-gosduma-priravnyala-hentay-k-pedofilii.html
Борманд, беги! Я прикрою!