Ben Hanson:
> The underscores thing just comes from the C++ source.

But once your program works well you can change the variable names a little, or 
even before if you have some kind of IDE.

In D style guide structs and classes need to start with an upper case, in 
CamelCase. And variable names are written in camelCase with a starting lower 
case:
http://www.digitalmars.com/d/2.0/dstyle.html
Following a common style guide is important.


> I was recommended that
> approach, as not wanting to use Reverse Polish Notation (i.e. MFC style),

I think you mean polish with no reverse :-)


> the underscores allow you to have a type the same name as a member var or 
> local var.

I don't understand.
Why can't you write the code like this?

struct BasicStringToken
{
        enum size_t MAX_CHARS = CharT.max + 1;
        enum size_t START_CHAR = cast(CharT) 0x80 < 0 ? 0x80 : 0;

        private bool negated = false;
        private CharT[] charset;

        this(const bool negated_, ref CharT[] charset_)
        {
                negated = negated_;
                charset = charset_;
        }

I have kept the underscores in the arguments of the method because they have a 
limited scope/life, so they don't add a lot of noise to the whole code.

Bye,
bearophile

Reply via email to