Boost logo

Boost :

Subject: Re: [boost] [AFIO] Review (or lack of it)
From: Rodrigo Madera (rodrigo.madera_at_[hidden])
Date: 2015-08-29 02:30:42


On Fri, Aug 28, 2015 at 8:07 PM, Niall Douglas <s_sourceforge_at_[hidden]>
wrote:

> > Also, git has branches. Why don't you work on the half-baked stuff in a
> > feature branch?
> >
> > #if 0 is code smell.
>
> These are entirely personal opinion based on suppositions and
> assumptions with zero technical relevance to the quality of a
> library, as was a lot of the stuff I snipped. I don't work in
> pristine code environments, I like to keep around bits of code in #if
> 0 blocks to remind me of things, or for the occasional use, or for
> any other reason. I personally would find such segments educational
> when reviewing a library rather than the unfounded claim of "code
> smell" which may be true in other code bases in your experience, but
> I can assure you is not the case in my code bases.
>
> Instead of assuming code smells or other non-factually based
> suppositions, consider examining the coverage of the unit test suite
> and the rigorous testing regime run each and every commit and taking
> some hours to complete.
>

It's a code smell. AFIO is suposedly a finished library candidate for
inclusion in Boost. Dead blocks shouldn't be there. Just store the code in
your computer and get it out of a library that will continuously be
processed in user code (even if with negligible costs).

If you need special Intellisense (or alike) information just configure your
local environment to read those files elsewhere.

> > Quite a few applications turn off or ignore std::cerr.
> > At least given users the option to provide their own reporting function
> > for emergencies.
>
> It is trivial to redirect std::cerr elsewhere.
>
> I am happy for std::cerr to become a macro, and this is logged at
> https://github.com/BoostGSoC13/boost.afio/issues/104.
>

Why on earth would you want to do this? Exceptions are there for these
cases.

Don't use a macro. Just don't log. It's not your job to do so. Specially
using std::cerr.

If you create such macro, and since I use Boost Log, that means I have to
take care of configuring AFIO so it doesn't "spill" information. This is
just bad.

Regards,
Rodrigo Madera


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk