Boost logo

Boost :

From: williamkempf_at_[hidden]
Date: 2001-03-17 10:27:07

--- In boost_at_y..., "Greg Colvin" <gcolvin_at_u...> wrote:
> From: <williamkempf_at_h...>
> > ... There are
> > five styles I've seen used, each rubs me wrong for different
> Make that six.
> name: Also commonly used, short, readable, no conflicts.

I'm not sure I agree with "no conflicts". There are two reasons why
warts on members are useful. One is that it makes it obvious while
reading code which variables are members and which are local (global
adds a third category which some people use a second wart for). The
other reason is to avoid name conflicts:

class foo
   foo(int bar) { bar = bar; } // this one can be handled with
                                // initalization lists
   int bar() { return bar; }
   void set_bar(int bar) { bar = bar; }

   int bar;

There were some strange names selected in my implementation because
of this factor.

> > m_name: This makes the variable name longer and harder to read to
> > even though coming from the MS world I'm very used to it. I just
> > don't like the embedded underscore here. This is awfully nit
> > yes, so when I do use warts this is often the one I use.
> >
> > mname: Fully unreadable.
> >
> > mName: Readable, but I prefer not using mix case, which I believe
> > mentioned in the Boost guidelines as well, though I could be
> > remembering this wrong.
> >
> > _name: As Dave pointed out this is only safe in the context of
> > variables. Granted, that's precisely what the wart is supposed
> > indicate, but it still feels wrong to use a wart that's
restricted in
> > some cases.
> >
> > name_: Don't know why, but this one really bugs me. It looks
> > someone just didn't finish typing out the variable name here.
> And name_ is commonly used in macro expansions to avoid conflicts
> with user names.

This is not reserved by the standard, though, is it? I think this
points out why warts are so vexing.

Bill Kempf

Boost list run by bdawes at, gregod at, cpdaniel at, john at