On Tuesday December 13 2016 21:50:32 Duncan wrote:

>The trouble with kde/plasma logs is that they log all kinds of useless 
>but alarming looking "noise", at least in terms of user diagnostics 
>(individual component devs could arguably get something from it, but 
>apparently tend to ignore it as well or a good 2/3 of those messages 


A bit off-topic but still relevant: indeed, much KF5 code "loaded" with qDebug 
and similar statements that aren't strictly necessary to which the devs have 
grown so accustomed that they no longer notice them. But there is also a 
practice of using assert statements instead implementing proper error checking 
and handling, which assumes that the code is never built in Release/Production 
mode.

Of course the user will simply see a crash in both cases when the asserted 
condition fails; a guaranteed one because of an abort in a Debug build, and a 
likely crash at some later point in release builds, possibly after unknown 
amounts of side-effects.

This is not just a personal opinion, the practice of using Q_ASSERT as a lazy 
way of handling situations you don't feel like handling properly "just right 
now" is real enough that Qt will consider a patch with which Q_ASSERT will NOT 
disappear completely in release builds (but at least do something like invoking 
qCritical).

(Evidently there are error conditions in which the only sensible thing to do is 
aborting, but those too shouldn't be handled with a Cheshire cat statement :))

R.

Reply via email to