
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.89] |
![]() |
|
Страницы: (3) 1 [2] 3 все ( Перейти к последнему сообщению ) |
Сообщ.
#16
,
|
|
|
Скрытый текст Во первых - этот срачь был не в политике, а в тематике. Во вторых, почитай что пишет это чудо. Он или еще из подросткового периода не вышел, или у него тяжелая депрессия, от чего он видимо набухался и пришел спустить пар на мне, со своим подростковым сленгом. Добавлено И какой смысл этой темы тут? Если две последние портянки ты уже удалил. По новой что ли их писать? Нет уж увольте. ! Киля, я не буду заниматься доказательством правильности своего модерирования! И тебе советую не нарушать Правила п.1.6. Если тебя что-то не устраивает - пиши админам форума. Они отклоненные темы видят, и смогут вынести свой вердикт в твою пользу - если я не прав. |
Сообщ.
#17
,
Сообщение отклонено: Qraizer -
|
Сообщ.
#18
,
|
|
|
Цитата JoeUser @ И простое бы предупреждение спасло - если бы была привычка ... смотреть логи сборки. Кхе-кхе. Всегда смотреть логи сборки это напряжно. У меня есть привычка, настраивать warning as error. Компилятор споткнувшись, возвращает код ошибки. А вот если при сборке возникла ошибка, то тогда у меня выскакивает отчёт. В прочих случаях нет смысла его читать. Разве что для отладки самого сборочного процесса. |
Сообщ.
#19
,
|
|
|
Цитата Eric-S @ Кхе-кхе. Всегда смотреть логи сборки это напряжно. Возможно я неточно выразился. Для разработки под С/С++ я использую QtCreator. У него для логирования сборки есть два окошка - сырых логов, и логов предупреждений и ошибок. Естественно, я сперва смотрю второе. Такие предупреждения, как неиспользуемые переменные - я обрабатываю чаще всего просто обычным комментированием переменных, хотя можно бы и прагмой, но это не всегда красивше. |
Сообщ.
#20
,
|
|
|
Цитата JoeUser @ Возможно я неточно выразился. Для разработки под С/С++ я использую QtCreator. У него для логирования сборки есть два окошка - сырых логов, и логов предупреждений и ошибок. Ясно. У меня самопальная сборка. Окошко с ошибками открывается, только если при сборке были ошибки. Цитата JoeUser @ Такие предупреждения, как неиспользуемые переменные - я обрабатываю чаще всего просто обычным комментированием переменных В смысле их удалением из компиляции? // int not_used_var; Я в таких случаях просто удаляю. Чтоб не плодить мусор. Если будет нужно вернуть, то svn или git мне поможет. Цитата JoeUser @ можно бы и прагмой, но это не всегда красивше. В тех случаях, когда ни то ни сё, переменная нужна, но временно не используется, то использую макрос. Раньше там был просто: #define UNUSED( varname ) ((void) varname) Потом сделал шаблонную заглушку: template< typename T > void unused( const T& ) {} Сейчас в стандарте предложили атрибут, но я как-то даже не пробовал. |
![]() |
Сообщ.
#21
,
|
|
Скрытый текст Цитата Eric-S @ В тех случаях, когда ни то ни сё, переменная нужна, но временно не используется, то использую макрос. Зря ты это сказал. Сейчас Киля срач начнёт и на эту тему ![]() |
Сообщ.
#22
,
Сообщение отклонено: JoeUser -
|
![]() |
Сообщ.
#23
,
|
|
Скрытый текст Ну я на всякий случай - вдруг не заметишь такой повод, чтобы посраться, а тут я напомнил ![]() |
Сообщ.
#24
,
|
|
|
Цитата OpenGL @ Зря ты это сказал. Сейчас Киля срач начнёт и на эту тему ![]() Мне как-то не интересно читать срач. Я знаю, что поступаю не очень хорошо, заглушая предупреждения, вместо исправления. Но в некоторых случаях, это наиболее приемлемый вариант. А я перебрал множество разных. Если кто-то может предложить более удобное, правильное и красивое решение, то с радостью откажусь от старого варианта. |
Сообщ.
#25
,
|
|
|
Цитата Eric-S @ Такая же фигня. Ненавижу непофикшеные предупреждения.У меня есть привычка, настраивать warning as error. Скрытый текст У Кили сейчас идеальная аватарка - полностью подходит под его поведение на этом форуме. ![]() |
Сообщ.
#26
,
|
|
|
Цитата Eric-S @ В смысле их удалением из компиляции? // int not_used_var; Да, но я дополнительно использую еще QtCreator TODO Plugin, и помечаю ее как //NOTE , если точно знаю, что она скоро понадобится. Такие случаи очень редкие, но бывают. А еще: ![]() ![]() #include <iostream> class Warning { public: virtual void Log(const std::string &Msg) const { std::cout << "Warning: " << Msg << std::endl; } }; class Fatal: Warning { public: void Log(const std::string & /** Msg **/) const override { // <--------- Бывает и такое std::cout << "Abort." << std::endl; } }; int main() { Fatal F; F.Log(""); return 0; } |
Сообщ.
#27
,
|
|
|
Цитата JoeUser @ А еще Не понял, как это использовать на практике? Можно пример? Добавлено Цитата JoeUser @ Да, но я дополнительно использую еще QtCreator TODO Plugin, и помечаю ее как //NOTE , если точно знаю, что она скоро понадобится. Ясно. Если что, я помещаю /// @todo обработать переменную А doxygen это всё собирает в единый список todo list. Впрочем, это не слишком удобно и какая-нибудь прога не помешала бы. |
Сообщ.
#28
,
Сообщение отклонено: JoeUser -
|
Сообщ.
#29
,
|
|
|
Цитата Eric-S @ Не понял, как это использовать на практике? Можно пример? Ну вот синтетический пример я и привел. Его конечно же можно было бы переписать с применением паттерна "Адаптер". Но для разовых решений, а тем более мелких - мой пример пишется быстрее и читается несложно. |
Сообщ.
#30
,
Сообщение отклонено: JoeUser -
|